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 13:31:54 浏览: 16
这段代码定义了一个名为 `updateTable1` 的方法,用于更新表格数据。
首先,声明了一个整型变量 `count`,用于记录符合条件的数据条数。
创建了一个名为 `userList` 的 `ArrayList`,用于存储符合条件的数据。
接下来,打开文件 "chufang.txt",并使用 `BufferedReader` 对象读取文件内容。
通过逐行读取文件内容,将每行数据按空格分割成数组 `arr`。
如果数组长度大于等于5,并且输入的身份证号与数组中的第二个元素相等,就将数据封装成一个 `user` 对象,并将其添加到 `userList` 中。
将 `userList` 赋值给全局变量 `alluserList`,以便在其他方法中使用。
创建一个二维字符串数组 `datas`,用于存储将要显示在表格中的数据。
遍历 `userList`,将每个 `user` 对象的字段值赋给相应的数组元素。
使用 `DefaultTableModel` 创建一个新的表格模型,并将 `datas` 数组和之前声明的 `headers` 数组作为参数传入。
将新的表格模型设置为表格的数据模型,以更新表格显示的数据。
最后,关闭文件读取器。
这段代码实现了根据输入的身份证号从文件中读取相应数据,并更新表格显示的功能。
相关问题
List<String>arrayList = new ArrayList< String>();
List<String>arrayList = new ArrayList< String>();是一个创建ArrayList对象的语句,其中List<String>表示这是一个泛型类型,只能存储字符串类型的数据。ArrayList是List接口的一个实现类,可以用来创建一个可变长度的数组。下面是一个例子:
```java
List<String> arrayList = new ArrayList<String>();
arrayList.add("apple");
arrayList.add("banana");
arrayList.add("orange");
System.out.println(arrayList); // 输出:[apple, banana, orange]
```
下列集合对象创建正确的是() ArrayList<int> list = new ArrayList<>(); ArrayList<Integer> list = new ArrayList<>(); ArrayList<> list = new ArrayList<Integer>(); ArrayList<Object> list4 = new ArrayList<Integer>();
下列集合对象创建正确的是:
ArrayList<Integer> list = new ArrayList<>();
在Java中,泛型只能使用引用类型,不能使用基本类型。因此,需要使用包装类Integer来代替基本类型int。正确的语法是在尖括号内指定泛型的类型,如ArrayList<Integer>表示创建一个存储Integer对象的ArrayList集合对象。
其他选项是错误的:
ArrayList<int> list = new ArrayList<>(); - 错误,基本类型int不能用作泛型参数。
ArrayList<> list = new ArrayList<Integer>(); - 错误,尖括号内必须指定泛型的类型。
ArrayList<Object> list4 = new ArrayList<Integer>(); - 错误,泛型类型必须匹配,不能将一个泛型类的对象赋值给另一个泛型类的引用。