簡體   English   中英

Java逐行讀取文本文件,但將行中的單詞分隔成數組

[英]Java read text file in lines, but seperate words in lines into array

我正在嘗試編寫一個查看文本文件的代碼,並執行while循環,以便讀取每一行,但是我需要每行中的每個單詞都在數組中,以便可以執行一些if語句。 我目前遇到的問題是我的數組當前正在將文件中的所有單詞存儲在一個數組中..而不是數組中每行的所有單詞。

這是我當前的一些代碼:

    public static void main(String[] args) throws IOException {

    Scanner in = new Scanner(new File("test.txt"));
    List<String> listwords = new ArrayList<>();


while (in.hasNext()) {
      listwords.addAll(Arrays.asList(in.nextLine().split(" ")));
}


    if(listwords.get(4) == null){
        name = listwords.get(2);
     }
    else {
        name = listwords.get(4);
    }

如果您希望每行包含一個字符串數組 ,請改為這樣編寫:

List<String[]> listwords = new ArrayList<>();

while (in.hasNext()) {
    listwords.add(in.nextLine().split(" "));
}

順便說一句,您似乎在互換使用術語“數組”和“ ArrayList”。 那將是一個錯誤,它們是截然不同的東西。

如果您希望每行有一個字符串List ,請這樣編寫:

List<List<String>> listwords = new ArrayList<>();

while (in.hasNext()) {
    listwords.add(Arrays.asList(in.nextLine().split(" ")));
}

您可以使用

listwords.addAll(Arrays.asList(in.nextLine().split("\\\\r?\\\\n")));

分割成新的線。 然后,您可以根據需要在Whitespace上進一步拆分它們。

暫無
暫無

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

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