这是我到目前为止所拥有的
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("Patient.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
List<String> lines = new ArrayList<String>();
while ((strLine = br.readLine()) != null) {
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
ArrayList<Patient1> patients=new ArrayList<Patient1>();
Patient1 p = new Patient1();
//set value to the patient object
patients.add(p);
System.out.println(p);
// File i/o
这是我的txt文件
001, "John", 17, 100, 65, 110, 110, 110, 109, 111, 114, 113, "Swaying, Nausea"
002, "Sun Min", 18, 101, 70, 113, 113, 110, 119, 111, 114, 113, "None"
003, "Ray Allen", 25, 103, 74, 110, 110, 110, 109, 111, 108, 109, "Difficulty driving"
004, "Michael Jordan", 26, 104, 84, 114, 115, 118, 117, 119, 120, 123, "Loss of bladder control"
005, "Kobe Bryant", 28, 110, 80, 118, 119, 120, 119, 120, 120, 120, "None"
我有我所有的方法和资源我需要做的就是将数组列表变成一个数组,这样我就可以做一些像
这样的事情 Patient1 average[] = {p[0], p[1], p[2], p[3], p[4]};
int totalage = 0;
double totalweight = 0;
for (int i=0; i<average.length; i++) {
totalage = (average[i].getAge() + totalage);
totalweight = (average[i].getWeight() + totalweight);
答案 0 :(得分:3)
toArray
就是你想要的。
e.g。
ArrayList<String> l = something();
String[] foo = l.toArray(new String[foo.size()]);
修改的
再看一下你的例子。您不需要将其转换为数组,只需在循环中的arraylist上调用get函数并进行计算即可。您可能希望花一点时间查看javadoc。
答案 1 :(得分:0)
如果您想逐行阅读文件,则可以使用common-io
的FileUtils类。
使用FileUtils.readLines()
我们可以逐行读取文件内容并将结果作为字符串列表返回
示例:
File file = new File("sample.txt");
try {
List<String> contents = FileUtils.readLines(file);
for (String line : contents) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
答案 2 :(得分:-1)
像这样使用
ArrayList<Patient1> patients = new ArrayList<Patient1>();
Patient1 p = new Patient1();
patients.add(p);
String[] pArray = new String[patients.size()];
pArray = patients.toArray(pArray);
for(String s : pArray)
System.out.println(s);
希望这会对你有帮助..