【随感】tomorrow ,new semester ,finally i have time to read some books~

                                                               —————————youngLaker

转载于:https://www.cnblogs.com/younglaker/archive/2012/12/30/2840129.html

好的,这里是使用BufferedReader来读取数据的优化代码: ``` public void importData() { List<String> files = Arrays.asList("courses.txt", "scores.txt", "credits.txt", "semesters.txt", "types.txt"); List<List<String>> fileContents = new ArrayList<>(); for (String file : files) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("data/" + file), StandardCharsets.UTF_8))) { List<String> lines = new ArrayList<>(); String line; while ((line = reader.readLine()) != null) { lines.add(line); } fileContents.add(lines); } catch (IOException e) { JOptionPane.showMessageDialog(null, "Failed to import data from file: " + file); } } if (fileContents.size() != 5) { JOptionPane.showMessageDialog(null, "Failed to import data"); return; } // Check if each file has the same number of lines int numLines = fileContents.get(0).size(); for (List<String> content : fileContents) { if (content.size() != numLines) { JOptionPane.showMessageDialog(null, "Failed to import data: files do not have the same number of lines"); return; } } // Clear current data this.courses.clear(); // Read data from files and add to list for (int i = 0; i < numLines; i++) { String course = fileContents.get(0).get(i); String score = fileContents.get(1).get(i); String credit = fileContents.get(2).get(i); String semester = fileContents.get(3).get(i); String courseType = fileContents.get(4).get(i); addData(course, credit, score, semester, courseType); this.courses.add(new Course(course, score, credit, semester, courseType)); } JOptionPane.showMessageDialog(null, "Data has been imported"); } ``` 使用BufferedReader来读取数据可以提高读取文件的效率,同时也可以避免文件编码不匹配的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值