我在每一行上都有一個數字的文本文件。從文本文件中讀取數據並將其存儲在對象中
0
55
3
15
63
8
0
-8
9
89
504
32
我有一個Car
它接受三個參數:
- 起始里程錶讀數
- 最終里程錶讀數
- 的升
在文本中的第一行文件對應於起始里程錶讀數。
第二個是最後的閱讀。
第三個是升。
四是啓動里程錶讀數爲第二Car
等
我需要閱讀的文本文件,創建一個對象,這個參數的車。
對於car3 (0, -8, 9)
有一個負數,所以整個集被忽略,(89, 504, 32)
成爲car3
。
我已經提到Anubian Noob's answer;這是我到目前爲止的代碼:
final String INPUT_FILE = "data.txt";
final String OUTPUT_FILE = "report.txt";
BufferedReader inputFile = new BufferedReader (new FileReader (INPUT_FILE));
BufferedWriter outputFile = new BufferedWriter (new FileWriter (OUTPUT_FILE));
LineNumberReader lineNumber = new LineNumberReader (new FileReader (INPUT_FILE));
lineNumber.skip(Long.MAX_VALUE);
int length = lineNumber.getLineNumber();
lineNumber.close();
String line = inputFile.readLine();
Car[] car = new Car[length/3];
while (line != null)
{
for (int i = 0; i < length/3; i += 3)
{
int startReading = Integer.parseInt(inputFile.readLine());
int endReading = Integer.parseInt(inputFile.readLine());
int liter = Integer.parseInt(inputFile.readLine());
car[i] = new Car (startKm, endKm, litre);
}
}
inputFile.close();
outputFile.close();
在線int liter = Integer.parseInt(inputFile.readLine());
我得到以下錯誤:
java.lang.NumberFormatException: null
null (in java.lang.Integer)
如何三塊的信息存儲到各自的對象?
*注意:文本文件中沒有一定數量的行,我們必須使用一個數組。
這意味着您已到達文件末尾。爲什麼你對同一個文件有兩個'Reader'實例?只需使用['Files.readAllLines'](http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#readAllLines(java.nio.file.Path,%20java .nio.charset.Charset))。 – 2014-10-31 08:24:49
嘗試在執行整數轉換之前打印當前行的日誌,以便在發生故障時確切地知道哪一行。除此之外,和鮑里斯一樣的評論:爲什麼你不保留lineNumber作爲你的讀者? – gdupont 2014-10-31 08:26:45
我以爲BufferedReader和LineNumberReader是不同的。如果我只留下'LineNumberReader'並用'lineNumber'替換'inputFile',我會在'String line = inputFile.readLine();'處得到一個錯誤。''它說:java.io.IOException:Steam close(在java.io. BufferedReader' – user3479783 2014-10-31 08:33:51