试图让文本文件的每一行成为一个数组列表

Posted

技术标签:

【中文标题】试图让文本文件的每一行成为一个数组列表【英文标题】:Trying to get each line of a text file to be an arraylist 【发布时间】:2011-04-20 07:15:10 【问题描述】:

好的,所以我正在尝试读取文本文件。然后将其拆分为实际代表进程表数组列表中的进程的行。然后我想拆分该行中的所有标记并使该行的所有标记再次成为数组列表到目前为止,这就是我所拥有的:

它无法正常工作。我得到了:

processes:[[netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF,   011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF]]
processes:[[netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF, 011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF, textpad, 2, 391BCA, 871BAF, DEA14C, EEFC30, 000000, 000000, 0000AA, AF, 000000, 000000, 000000, 000000, 000000, FFFFFF, B4344D, 000000], [netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF, 011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF, textpad, 2, 391BCA, 871BAF, DEA14C, EEFC30, 000000, 000000, 0000AA, AF, 000000, 000000, 000000, 000000, 000000, FFFFFF, B4344D, 000000]]

BufferedReader inputStream = null;
ArrayList<ArrayList<String>> lines = new ArrayList<ArrayList<String>>();
ArrayList<String> tokens = new ArrayList<String>();
/* read the file*/
try 
    inputStream = new BufferedReader(new FileReader("p56.txt"));

    while (true) 
        /* while the file was read*/
        /* now. split the file into the lines.*/
        String line = inputStream.readLine();
        if (line == null) 
            break;
        
        //if there are no more lines left. break

        // split the lines into tokens and make into an arraylist*/
        Scanner tokenize = new Scanner(line);
        while (tokenize.hasNext()) 
            /*while there are still more*/
            tokens.add(tokenize.next());
        
        lines.add(tokens);

        System.out.println("processes:" + lines);
    

【问题讨论】:

最好给出一个可执行代码 sn-p 以及当前的输出细节。只是一个建议。 什么是可执行代码sn-p? 一个 sn-p,一旦您将其粘贴到此处,我们就可以在我们的系统上试用 :-) 无论如何,您的帖子看起来已经过编辑,所以没关系。 按步骤考虑您的程序: 1. 一次读取文件一行(可能参见 FileReader 及其 readLine() 方法)并打印出这些行。 2. 然后,将线分成几段,放入一个List中。 3.然后,将这些Lists放入另一个List中。 【参考方案1】:

你需要移动线

ArrayList<String> tokens = new ArrayList<String>();

在前面

while (tokenize.hasNext()) 

它会在处理每一行之前创建一个新的标记列表。否则,您最终会得到文件所有行的所有标记的列表。

【讨论】:

多么令人兴奋!谢谢。现在如何访问每个进程的标记化数组列表? 使用for statement 迭代lines。如果您卡住了,请提出一个新问题。

以上是关于试图让文本文件的每一行成为一个数组列表的主要内容,如果未能解决你的问题,请参考以下文章

php文本文件到数组数组

试图用数组文本填充列表视图

python如何查找两个文本文件之间的所有单词匹配

Python Array,试图将文本文件放入数组中

如何使用 Windows 批处理文件遍历文本文件中的每一行?

Java:文本文件到二维数组