簡體   English   中英

在Java中拆分解析文本文件

[英]Split parse text file in java

所以基本上我可以使用BUFFERED READER讀取文本文件。 之后,我應該拆分並解析它,此時,我面臨一個問題。

輸出為:5 2 9 1 7 3 9 2 10 11 6 3
線程“主”中的異常java.lang.NumberFormatException:對於輸入字符串:java.lang.Integer.parseInt(在java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)處為“ F:\\ Gephi \\ number.txt” Integer.java:580),位於java.lang.Integer.parseInt(Integer.java:615),位於javaapplication17.JavaApplication17.main(JavaApplication17.java:42)C:\\ Users \\ Asus \\ AppData \\ Local \\ NetBeans \\ Cache \\ 8.2 \\ executor-snippets \\ run.xml:53:Java返回:1個構建失敗(總時間:0秒)

我的代碼是

package javaapplication17;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;




public class JavaApplication17 {

    public static void main(String[] args) {

        String count = "F:\\Gephi\\number.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(count))) 
        {
            String line;
            while ((line = br.readLine()) != null)
            {
                System.out.println(line);
            }
        } 

        catch (IOException e) 
        {
            e.printStackTrace();

        }


        // What is the Problem in this part? //

        String[] abc = count.split("/t");
        int[] intArray = new int[abc.length];

        for (int i=0; i<abc.length; i++)

        {

        String numberAsString = abc[i];
        intArray[i] = Integer.parseInt(numberAsString);


        }

        System.out.println("Number of integers: " + intArray.length);

        System.out.println("The integers are:");
        for (int number : intArray)

        {

        System.out.println(number);

        }






    }
}

我的文本文件看起來像這樣

5   6   7
5   2   9
1   7   3
9   2   10
11  6   3

問題是count是一個字符串,其中包含值"F:\\\\Gephi\\\\number.txt" 這不會為您提供文件中的行數/列數。

String[] abc = count.split("/t");  // <------ This won't work

所以當你這樣做

int[] intArray = new int[abc.length];

您正在創建大小為abc且被\\t分割的數組,這是不正確的。


為了解決您的問題,您可以將try-catch塊更改為以下內容:

int countOfNum = 0;
try (BufferedReader br = new BufferedReader(new FileReader(count))) {
    String line;
    while ((line = br.readLine()) != null) {
        String[] currLine = line.split("\t");
        System.out.println(Arrays.toString(currLine));
        countOfNum = countOfNum + currLine.length;
    }
} catch (IOException e) {
    e.printStackTrace();
}

System.out.println("Total count of numbers : " +countOfNum);
  • 在上述解決方案中,我們將每一行拆分為變量currLine
  • 接下來使用Arrays.toString()我們打印出值
  • 現在使用變量countOfNum我們可以找到文件中元素的總數。

暫無
暫無

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

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