gpt4 book ai didi

java.lang.NumberFormatException : For input string: "4�⌷ 3⌷�9�⌷.�8⌷�9⌷" at sun. Misc.FloatingDecimal.readJavaFormatString

转载 作者:行者123 更新时间:2023-12-01 18:30:24 26 4
gpt4 key购买 nike

我在读取 csv 文件时遇到问题,该文件包含格式为 #.##,#.## 的数字,这些数字是随机生成的 double (坐标),作为字符串写入文件中另一个程序。

这是我用来从文件读取并解析坐标的代码部分:

    private void populateData() {

for (int i = 0; i < this.data[0].length; i++) {
try {
BufferedReader br = new BufferedReader(new FileReader("Sample.csv"));
while (br.readLine() != null) {
String[] split = br.readLine().split(",");
this.data[0][i] = Float.parseFloat(split[0].trim());
this.data[1][i] =Float.parseFloat(split[1].trim());
}
} catch (FileNotFoundException ex) {
Logger.getLogger(FastScatterPlotDemo.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(FastScatterPlotDemo.class.getName()).log(Level.SEVERE, null, ex);
}


}

}

它给了我一个奇怪的异常

Exception in thread "main" java.lang.NumberFormatException: For input string: "4⌷�3⌷�9⌷�.⌷�8⌷�9⌷"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at lab05b_Task2.FastScatterPlotDemo.populateData(FastScatterPlotDemo.java:86)
at lab05b_Task2.FastScatterPlotDemo.<init>(FastScatterPlotDemo.java:41)
at lab05b_Task2.FastScatterPlotDemo.main(FastScatterPlotDemo.java:107)

我不知道这是否与我在ubuntu上工作有关,这是一个编码问题。

最佳答案

您似乎有一个 UTF-16 编码的文件。您必须确定它是 UTF-16LE 还是 UTF-16BE。我首先猜想是UTF-16LE。我建议您设置编码以匹配文件,并且您应该正确读取它。如果您不知道编码应该是什么,请询问文件的来源它/他们使用了什么。

顺便说一句,如果可以避免的话,不要使用float。尝试使用 doubleBigDecimal 代替。

关于java.lang.NumberFormatException : For input string: "4�⌷ 3⌷�9�⌷.�8⌷�9⌷" at sun. Misc.FloatingDecimal.readJavaFormatString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com