我是supoose读取文件让我们说它有3行:
2
Berlin 0 2 2 10000 300
Nilreb 0 2 2 10000 300
第一个整数表示我有多少个名字(行)。
第2和第3行显示有关两个邮局的信息。
他们我想读取每一行并保存数据。
我必须创建他们名字的邮局:Berlin和Nilreb。
任何人都可以帮助我吗?
到目前为止,我已经这样做了:public static void read_files() throws IOException{
Scanner in = new Scanner(new File("offices")); //open and read the file
int num_of_lines = in.nextInt();
while(in.hasNext()){
String offices = in.nextLine();
}
答案 0 :(得分:0)
我想我弄清楚了:你能检查一下是否正确:
public static void read_files() throws IOException{
Scanner in = new Scanner(new File("offices"));
int num_of_lines = in.nextInt();
String[] office = new String[num_of_lines];
while(in.hasNext()){
for(int = 0; i < num_of_lines; i++){
office[i] = in.next();
}
答案 1 :(得分:0)
要阅读文件,我建议您使用ArrayList:
Scanner s = new Scanner(new File(//Here the path of your file));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext())
{
list.add(s.nextLine());
}
现在,在您的ArrayList
中,您将拥有文件的所有行。所以,现在,你可以通过for循环浏览所有的邮局(我从索引1开始,因为第一行是文件中有多少个邮局的行,你不需要它这个方法)和split
它们可以获得有关它们的所有信息。例如,在Strings
数组的位置0中,您将拥有邮局的名称,在其余位置(1,2,3,4 ...)中存储其余值在您的文件中(您的行中的空格中的一个值)。像这样:
for(int i = 1; i < list.size(); i++)
{
String[] line = list.get(i).split(" ");
System.out.println("The name of this post office is " + line[0]);
}
编辑:我现在在上面的评论中看到你要为每一行创建一个类。然后你可以(在for循环中,而不是System.out.println
)我下面的代码(假设你的类将是PostOffice
):
PostOffice postOffice = new PostOffice(line[0],line[1],line[2],line[3],line[4],line[5]);
注意:如果您对我的代码一无所知,请告诉我。
我希望它会对你有所帮助!