如何将由AN ENTER KEY(在.txt中)分隔的行(从.txt读取)添加到字符串arrayList的单独元素中?

时间:2014-06-04 19:16:59

标签: java text arraylist filereader

我正在将.txt文件读入我的程序,并将.txt的行添加到String arrayList中。如何将ENTER键(在.txt中)DELINEATED行添加到arrayList的单独元素中?现在,如果我有以下文字写的:

  

这是一个测试

     

测试

     

测试测试

它会输出:

  

这是一次测试成绩测试

我想要它做的是按行每行读取内容,并将其放入stringArrayList的不同元素中。所以我想"这是一个测试" 是一个元素,"测试" ,然后最后& #34;测试测试"

我的代码非常丑陋,但现在我想做的就是让它为我的目的而工作。我的第一个目的是逐行读取.txt。我的第二个目的是解析特定子字符串(URL)的元素,将该URL连接到互联网,然后将该网页的部分页面源(解析特定关键字)与ABOVE行进行比较。我渴望的子串。但那是另一个问题:^)

import java.io.*;
import java.util.*;


public class Test {
    public static void main(String [] args) {

        // The name of the file to open.
        String fileName = "test.txt";
        List<String> listA = new ArrayList<String>();

        // This will reference one line at a time
        String line = null;

        try {
            // FileReader reads text files in the default encoding.
            FileReader fileReader = new FileReader(fileName);

            // Always wrap FileReader in BufferedReader.
            BufferedReader bufferedReader = new BufferedReader(fileReader);

            while((line = bufferedReader.readLine()) != null) {                
                System.out.println(line);
                listA.add(line);
                //*** THIS IS WHERE THE MAGIC HAPPENS ***\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            }   

            // Always close files.
            bufferedReader.close();         
        }
        catch(FileNotFoundException ex) {
            System.out.println(
                "Unable to open da file ofheee hah. '" + 
                fileName + "'");                
        }
        catch(IOException ex) {
            System.out.println(
                "Error reading file '" 
                + fileName + "'");                  
            // Or we could just do this: 
            // ex.printStackTrace();
        }

        System.out.println();
        System.out.println("array FOr loop thingy incoming:");
        System.out.println();


        for (int i = 0; i < listA.size(); i++) {
            System.out.print((listA.get(i)).toString());
            }
        }
}

2 个答案:

答案 0 :(得分:1)

您只需使用println代替print:

System.out.println((listA.get(i)).toString());

或者,您可以添加换行符\n

答案 1 :(得分:0)

到目前为止,您的代码似乎正在运行。如果您只想查看listA中的元素,请将其打印出来:

System.out.println(listA);

输出:

[this is a test, , test, , test test, ]

请注意,输入文件中的额外行也存储在listA中。我不确定这是否是您想要的行为。