基本上我可以使用BUFFERED READER读取文本文件 . 在那之后,我应该SPLIT和PARSE它,此时,我正面临一个问题 .
输出为:5 2 9 1 7 3 9 2 10 11 6 3线程“main”中的异常java.lang.NumberFormatException:对于输入字符串:java.lang.NumberFormatException.forInputString中的“F:\ Gephi \ number.txt” (NumberFormatException.java:65)java.lang.Integer.parseInt(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 BUILD FAILED(总时间: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
1 回答
问题是
count
是一个包含值"F:\\Gephi\\number.txt"
的String . 这不会为您提供文件中的行数/列数 .所以,当你这样做
您正在创建一个大小为
abc
的数组,该数组被\t
拆分,这是不正确的 .要解决您的问题,您可以将
try-catch
块更改为以下内容:在上面的解决方案中,我们将每一行拆分为变量
currLine
接下来使用
Arrays.toString()
打印出值现在使用变量
countOfNum
,我们找到文件中的元素总数 .