[英]Reading integers in a .txt file (Java)
因此,基本上我正在嘗試編寫一個程序,其中有人可以輸入10個整數,然后將其保存在.txt文件中,然后一起打開並取平均值。
到目前為止,我做得還不錯,我得到了所有異常處理並保存了我輸入的整數下來的文件,但是我不確定如何讀取文件。 我假設一旦完成所有操作,就可以計算平均值。 這是我的代碼的一部分,下面還有其他鏈接(我真的認為您需要查看完整的代碼才能更好地識別問題):
public static void closeFile()
{
if (output != null)
output.close();
}
public static void readRecords()
{
try
{
while (input.hasNext())
{
System.out.printf("%s%n", String.valueOf(numbers[i]));
}
}
}
您沒有正確打開文件,您需要使用閱讀器:
public static void readRecords(){
try (BufferedReader br = new BufferedReader(new FileReader("numbers.txt"))) {
String line;
int[] number = new int[10];
i=-1;
while ((line = br.readLine()) != null) {
i++;
number[i] = Integer.parseInt(line);
System.out.println("number "+i+" = "+number[i]);
}
}
catch(Exception e){
// Handle the trouble
}
}
我不確定要如何處理您得到的數字或數字numbers.txt
文件的確切格式,但是我假設您在做一些明智的事情,例如在文件中每行寫一個整數。 否則,請相應地調整代碼以適合您的需求。
首先,如chalarangelo所述,您沒有正確打開文件。 您可以使用Formatter
類來寫入文件,但不能使用它來從文件中讀取。 因此,您需要使用適當的讀取器(如BufferedReader
並使用其readLine()
方法。
除此之外,還需要將整數與字符串“ Inputed integer:”一起存儲。如果是這樣,那么僅獲取數字會有些困難。 我建議只在文件中打印數字,即
output.format("%s%n", String.valueOf(numbers[i]));
代替
output.format("Inputted integer: %s%n", String.valueOf(numbers[i]));
之后,使用閱讀器讀取該行並將其轉換為整數,然后將其存儲在數組中,如chalarengo的答案中所述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.