簡體   English   中英

將文本文件中的字符串存儲到包含不同行的數組中

[英]Storing Strings from a Text File into an array including different lines

目前,我正在嘗試讀取字符串的文本文件,並將其放入每行的數組中。 文本文件有10行,每行有一個字符串(從網站中提取的句子)。 我的目標是將這些字符串存儲到數組(每行一個數組)中。

這是我現在使用的代碼封裝數組。

public class sep_arr
{
    public static void main (String[] args) throws FileNotFoundException
    {

        Scanner DataFile = new Scanner(new File("EntityTagged.txt"));

        while(DataFile.hasNextLine()){
            String line = DataFile.nextLine();

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

            Scanner scanner = new Scanner(line);
            scanner.useDelimiter(",");
            while(scanner.hasNextDouble()){
                salesData.add(scanner.toString());
            }
            scanner.close();

            System.out.println(salesData);
        }

        DataFile.close();

    }
}

該代碼讀取“ EntityTagged.txt”文件,該文件中包含10個不同的句子,並希望將它們存儲在數組中。 此刻,執行后返回空數組

[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]

我的目標是將句子存儲在這些數組中,然后使用“ endsWith()方法”從文本中提取特定單詞。

任何幫助都感激不盡

謝謝

與在1.7中添加java.nio的掃描器相比,有更好的方法來讀取文件

就解析每一行而言,如果您確定已用逗號將雙精度分隔開,那就是您要創建的內容,然后繼續嘗試。

這個成語應該為您工作:

   Path file = Paths.get("EntityTagged.txt");
    List<String> fileContents = new LinkedList<>();
    try (BufferedReader reader = Files.newBufferedReader(file, Charset.defaultCharset()))
    {
        String line;
        while ((line = reader.readLine()) != null)
        {
            fileContents.add(line);
        }
    }
    return fileContents;

如果要發布數據樣本,我將幫助您確定是否正確標記了每一行。

我想你的問題在這里

while(scanner.hasNextDouble()){
    salesData.add(scanner.nextDouble()+""); // you wrote scanner.toString()
}

用這種方式做

Scanner DataFile = new Scanner(new File("EntityTagged.txt"));

ArrayList<String> salesData = new ArrayList<String>();
while (DataFile.hasNextLine()) {
    String line = DataFile.nextLine();

    salesData.add(line);
}

for (String str : salesData) {
    System.out.println(str);
}

DataFile.close();

如果使用java8,則可以這樣進行:

Files.lines(Paths.get("EntityTagged.txt")).toArray(String[]::new);

java.nio.file.Files是用於處理文件的實用程序類,它在java8 lines有一個新方法,該方法返回字符串流,然后使用toArray方法和該方法將該字符串流轉換為字符串數組引用String []的“構造函數”

暫無
暫無

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

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