如何在java中保存文件中的信息

时间:2015-06-12 23:53:09

标签: java string file io

我是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();
    }

2 个答案:

答案 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. 列表项

答案 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]);

注意:如果您对我的代码一无所知,请告诉我。

我希望它会对你有所帮助!