簡體   English   中英

如何將由ENTER鍵(在.txt中)分隔的行(從.txt中讀取)添加到字符串arrayList的單獨元素中?

[英]How do I add lines (read from a .txt) separated by AN ENTER KEY (in .txt) into separate elements of string arrayList?

我正在將.txt文件讀入程序,並將.txt行添加到String arrayList中。 如何將按Enter鍵(在.txt中)描述的行添加到arrayList的單獨元素中? 現在,如果我有以下書面文字:

這是一個測驗

測試

測試一下

它會輸出:

這是一個testtesttest測試

我想要它做的是逐行讀取內容,並將其放入stringArrayList的不同元素中。 所以我希望“這是一個測試”成為一個元素,然后“測試” ,最后是“測試”

我的代碼確實很丑陋,但是現在我要做的就是讓它按我的目的工作。 我的第一個目的是開始逐行讀取.txt。 我的第二個目的是解析一個特定子字符串(URL)的元素,將該URL連接到互聯網,然后將該網頁的頁面源的一部分(解析一個特定的關鍵字)與上一行進行比較。我想要的子字符串。 但這是另一個問題:^)

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

您只需要使用println而不是print即可:

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

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

到目前為止,您的代碼似乎可以正常工作。 如果您只想查看listA元素, listA其打印出來:

System.out.println(listA);

輸出:

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

請注意,輸入文件中的多余行也存儲在listA 我不確定這是否是您想要的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM