void updateTable1(String aa) { int count=0; List<user> userList=new ArrayList<>(); //读取文件信息,加入到列表,下面读列表塞到页面上数据 File inputFile = new File("chufang.txt"); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(inputFile)); String currentLine; while((currentLine = reader.readLine()) != null) { String[] arr = currentLine.split("\\s+"); if(arr.length >= 5 &&aa.equals(arr[1])) { user user =new user(); user.setZiduan1(arr[0]); user.setZiduan2(arr[1]); user.setZiduan3(arr[2]); user.setZiduan4(arr[3]); user.setZiduan5(arr[4]); userList.add(user); } } alluserList=userList; String[][] datas = new String[userList.size()][5]; for (int i = 0; i < userList.size(); i++) { datas[i][0] = userList.get(i).getZiduan1(); datas[i][1] = userList.get(i).getZiduan2(); datas[i][2] = userList.get(i).getZiduan3(); datas[i][3] = userList.get(i).getZiduan4()+""; datas[i][4] =userList.get(i).getZiduan5()+""; } table.setModel(new DefaultTableModel(datas, headers)); reader.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
时间: 2024-04-18 19:31:54 浏览: 81
这段代码定义了一个名为 `updateTable1` 的方法,用于更新表格数据。
首先,声明了一个整型变量 `count`,用于记录符合条件的数据条数。
创建了一个名为 `userList` 的 `ArrayList`,用于存储符合条件的数据。
接下来,打开文件 "chufang.txt",并使用 `BufferedReader` 对象读取文件内容。
通过逐行读取文件内容,将每行数据按空格分割成数组 `arr`。
如果数组长度大于等于5,并且输入的身份证号与数组中的第二个元素相等,就将数据封装成一个 `user` 对象,并将其添加到 `userList` 中。
将 `userList` 赋值给全局变量 `alluserList`,以便在其他方法中使用。
创建一个二维字符串数组 `datas`,用于存储将要显示在表格中的数据。
遍历 `userList`,将每个 `user` 对象的字段值赋给相应的数组元素。
使用 `DefaultTableModel` 创建一个新的表格模型,并将 `datas` 数组和之前声明的 `headers` 数组作为参数传入。
将新的表格模型设置为表格的数据模型,以更新表格显示的数据。
最后,关闭文件读取器。
这段代码实现了根据输入的身份证号从文件中读取相应数据,并更新表格显示的功能。
阅读全文