我正在使用以下代码从文件中读取
int lineNumber = 0;
try{
BufferedReader in = new BufferedReader (new FileReader("electric.txt"));
String line = null;
while((line = in.readLine()) != null){
lineNumber++;
system.out.println("Line "+ lineNumber + " : "+ line);
}
} catch(IOException e){
e.printStackTrace();
}
我的文件在每一行上都有特定的值,例如第一行是int,第二个字符串,第三个布尔值等。
我的问题是如何获取变量中的每种数据类型?
最佳答案
基本上,以一种幼稚的方式,您可以根据需要进行多次读取:
String firstLine = in.readLine();
String secondLine = in.readLine();
...
然后,您可以执行以下操作:
Whatever dataObject = new Whatever(firstLine, secondLine, ...);
例如(可能在一个循环中,因为您可能想读取许多数据对象的数据,而不仅仅是一个)。
换句话说:您在一些帮助程序变量中读取了必需的属性,然后将其推入要填充数据的对象中。优点:这适用于非常大的数据,因为一次只能读取几行。缺点:您必须担心无效文件,缺少行以及诸如此类的事情(因此您需要大量的错误处理)。
或者:首先简单地将整个文件读入内存,例如使用
List<String> allLines = java.util.Files.readAllLines(somePathToYourFile);
,然后,对这些allLines
进行迭代,以进一步处理您的内容,现在无需担心IOExceptions。