【发布时间】:2017-04-26 05:25:32
【问题描述】:
我无法弄清楚如何逐行读取文件,然后对其进行格式化。最大的问题是我有一个文本文件,其中有一个分配给“人”的“数字”。第一个数字是“001”。当我尝试阅读它时,它只保存为“1”。它对我的数字中的所有前导零做同样的事情。 “002”变成“2”,“030”变成“30”,以此类推。每个数字都有三位数,我想保持这种状态。
这是我从文件中读取的代码:
do {
next = Breader.readLine();
sNumber = Integer.parseInt(next);
nameArray.add(sNumber);
sName = Breader.readLine();
nameArray.add(sName);
end = Breader.ready();
} while(end);
它必须是 Integer.parseInt(); 函数中的东西。
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
public class FinalProgram {
public static void main(String[] args) IOException {
nameReader();
}
private static void nameReader() throws IOException {
String nameFile = " ";
String next = " ";
int sNumber = 0;
String sName = " ";
Scanner input = new Scanner(System.in);
ArrayList nameArray = new ArrayList();
try {
System.out.print("Enter the Name file(c:filename.txt): ");
nameFile = input.nextLine();
} catch(IllegalArgumentException e) {
System.out.printf("Invalid input. Please enter"
+ " filename in the form of "
+ "c:filename.txt\n", e.getMessage());
}
//Instantiate FileReader and BufferedReader
FileReader freader = new FileReader(nameFile);
BufferedReader Breader = new BufferedReader(freader);
boolean end = Breader.ready();
do {
next = Breader.readLine();
sNumber = Integer.parseInt(next);
nameArray.add(sNumber);
sName = Breader.readLine();
nameArray.add(sName);
end = Breader.ready();
} while(end);
System.out.print(nameArray);
}
}
【问题讨论】:
标签: java arraylist io bufferedreader filereader