public void filehandling() throws IOException{
FileWriter f = new FileWriter("C:\\Users\\PCB\\Documents\\NetBeansProjects\\Billing\\src\\Files\\MeterNumber.txt");
BufferedWriter b= new BufferedWriter(f);
b.write("13920");
b.newLine();
b.write("32981");
b.newLine();
b.write("2399");
b.newLine();
b.write("12903");
b.newLine();
b.write("59942");
b.newLine();
b.write("58342");
b.newLine();
b.write("12324");
b.newLine();
b.write("66342");
b.newLine();
b.write("90012");
b.newLine();
b.write("55221");
b.close();
f.close();
}
public void filetoarray() throws IOException{
BufferedReader bufReader = new BufferedReader(new FileReader("C:\\Users\\PCB\\Documents\\NetBeansProjects\\Billing\\src\\Files\\MeterNumber.txt"));
ArrayList<String> mnumber = new ArrayList<>();
String line = bufReader.readLine();
while (line != null) {
mnumber.add(line);
line = bufReader.readLine();
}
bufReader.close();
}
ArrayList<ArrayList<String>> mdetails = new ArrayList();{
ArrayList<String> ccode= new ArrayList();{
ccode.add("123468");
ccode.add("492312");
ccode.add("642344");
ccode.add("353421");
ccode.add("354332");
ccode.add("6746643");
ccode.add("7578885");
ccode.add("3949390");
ccode.add("1000348");
ccode.add("5396978");
ccode.add("1234567");
}
ArrayList<String> prreading= new ArrayList();{
prreading.add("1000");
prreading.add("6000");
prreading.add("3980");
prreading.add("2300");
prreading.add("4200");
prreading.add("8000");
prreading.add("1230");
prreading.add("4222");
prreading.add("5100");
prreading.add("3000");
prreading.add("");
}
ArrayList<String> ctype= new ArrayList();{
ctype.add("r");
ctype.add("r");
ctype.add("c");
ctype.add("c");
ctype.add("r");
ctype.add("c");
ctype.add("r");
ctype.add("c");
ctype.add("r");
ctype.add("r");
ctype.add("");
}
mdetails.add(mnumber);
mdetails.add(ccode);
mdetails.add(prreading);
mdetails.add(ctype);
}
我试图使用将文本文件转换为数组列表,然后将其包含到另一个类的2D数组列表中。我想将它添加到2d数组列表中,这样我就可以简单地使用2d数组列表的操作来调用它的内容
我对java还很陌生,还没有真正找到解决这个问题的方法,非常感谢你的帮助。
This is how I plan to use the contents of the text file through array lists
1条答案
按热度按时间bvjxkvbb1#
我已经修改了你的代码以返回一个
List<List<String>>
。考虑以下方法。
如果只是添加了几行代码,则不需要
BufferedWriter
。将您的
FileWriter
放入try-with-resources块中,这样它会在出错时自动关闭。此外,您可以利用
append
方法,这是一个“构建器”方法,允许您链接调用。如果需要,还可以使用PrintWriter
,它有一个println
方法,使其成为一个单独的调用。类似地,将
BufferedReader
放在try-with-resources块中。使用一些额外的方法返回
ccode
、prreading
和ctype
值。这当然不是必需的,尽管它可以提高应用程序的可伸缩性。
最后,对于
ArrayList
,声明类型可以是List
。