从文本文件填充多维数组



我有一个包含用户信息的文本文件,以行形式用逗号分隔。我使用实验和研究的组合来尝试将每一行分成单独的信息片段(通过使用拆分函数),这些信息可以存储在数组中,然后搜索。使用代码,我在文本文件中的每个名称和用户名都重复了 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());
    }
        }
}

感谢您对此的任何建议

看看你的代码分解,问题变得很明显:

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 中,以下两个代码片段是等效的 - 因为它们都迭代数组或集合的值。

一个

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

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

相关内容

  • 没有找到相关文章