从文本文件填充多维数组

时间:2011-05-23 14:44:55

标签: java search multidimensional-array text-files

我有一个包含用户信息的文本文件,以逗号分隔的行格式。我已经使用了实验和研究的组合来尝试将每一行分成单独的信息(通过使用拆分函数),这些信息可以存储在数组中,然后进行搜索。使用代码,我在文本文件中的每个名称和用户名每次重复4次,我不明白。我所做的就是让自己更加困惑,但我只需要从文本文件中提取每一行,将其分成4个独立的信息片段,然后以某种方式将它们存储在内存中进行搜索。我的代码是;

package assignment;


import java.io.*;

public class readUser {
public void read()
{
    try{

        FileInputStream propertyFile = new FileInputStream("AddUser.txt");

        DataInputStream input = new DataInputStream(propertyFile);
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));

        String line;

        while ((line = reader.readLine()) != null) {

            String[] items = line.split(",");
            String[][] usersArray = new String [5][2];
            int i;
            for (String item : items) {

                for (i = 0; i<items.length; i++){
                    if (i == 0) {
                        System.out.println("Name: " + items[i]);
                    } else if (i == 1) {
                        System.out.println("Username: " + items[i]);


                }
            }
            }
            //System.out.println(line);



        }
        input.close();
    }
    catch (Exception e){

        System.err.println("Error: " + e.getMessage());
    }
        }

}

感谢您对此提出的任何建议

1 个答案:

答案 0 :(得分:5)

看一下代码的细分问题,问题就变得清晰了:

for each line in property file (while loop):
    for each item in line:
        for each item in line:
           if item 0 print username
           else if item 1 print username
           endif
        end loop
     end loop
end loop

您的代码基本上是在items列表中迭代两次。请记住,在Java中,以下两个代码片段是等效的 - 因为它们都迭代数组或集合的值。

A

for (String item : items) {...}

B

for (int i = 0; i < items.length; i++) {
    String item = items[i];
    ....
}