作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有代码:
package package;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class Test {
private List<Integer> liczby = new ArrayList<Integer>();
public void dodajLiczbe(int liczba) {
liczby.add(liczba);
}
public int wezLiczbe(int indeks) {
return liczby.get(indeks);
}
public int ileLiczb() {
return liczby.size();
}
public static void main(String[] args) {
Test w = new Test();
String nazwaPliku = "file.xyz";
try {
BufferedReader br = new BufferedReader(new FileReader(nazwaPliku));
String linia = null;
while ((linia = br.readLine()) != null) {
int liczba = Integer.parseInt(linia.trim());
w.dodajLiczbe(liczba);
}
} catch (Exception e) {
System.err.println("Wystapil blad przy wczytywaniu danych");
e.printStackTrace();
}
System.out.println("Wczytanych liczb: " + w.ileLiczb());
}
}
我正在尝试导入我的 ASCII 文件,它有 150k 行并且我在编译时出现错误(第一行):
java.lang.NumberFormatException: For input string: "0.000 210 62"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at package.Test.main(Test.java:33)
第一列必须带有“.”。如果您有更好的选择,请告诉我。 file.xyz 中的第一行:
0.000 210 62
0.000 217 79
0.000 224 91
0.000 231 99
0.000 238 109
最佳答案
您正在调用 Integer.parseInt(linia.trim())
,但第一行不是有效数字,因为它包含空格。在将其部分转换为 Integers
之前,您需要先将 linia.trim()
的输出解析为 String
。
String[] parts = linia.trim().split(" ");
Integer firstNumber = Integer.parseInt(parts[0]);
@Pshemo 建议的更好方法可能是使用 Scanner类。
关于java - 如何在 Java 中导入 ASCII 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602081/
我是一名优秀的程序员,十分优秀!