我正在尝试读取具有大约2000列和7行的csv文件的内容。我收到了以下错误。
Exception in thread "main" java.lang.NumberFormatException: For input string: "Preview truncated at 256 rows"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at java.lang.Double.valueOf(Double.java:502)
请找到以下代码
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.commons.math3.analysis.function.Log;
public class GoogleFailureGenerator{
private ArrayList<Long>hostID = new ArrayList<Long>();
private ArrayList<Double>MTBF = new ArrayList<Double>();
private ArrayList<Double>MTTR = new ArrayList<Double>();
private ArrayList<Double>SD_TBF = new ArrayList<Double>();
private ArrayList<Double>Var_TBF = new ArrayList<Double>();
private ArrayList<Double>SD_TTR = new ArrayList<Double>();
private ArrayList<Double>Var_TTR = new ArrayList<Double>();
public void failInfo(){
BufferedReader buffer;
try {
buffer = new BufferedReader(new FileReader("C://Data/Australia/Information_for_Cloudsim.csv"));
buffer.readLine(); //Skips the first line of the file.
String currentstr;
while((currentstr=buffer.readLine()) != null){
String[] column = currentstr.split(",");
//System.out.println("column[0] = " +column[0]);
if(column.length>0){
//hostID.add(Long.parseLong(column[0]));
hostID.add(Double.valueOf(column[0]).longValue());
MTBF.add(Double.parseDouble(column[1]));
SD_TBF.add(Double.parseDouble(column[2]));
Var_TBF.add(Double.parseDouble(column[3]));
MTTR.add(Double.parseDouble(column[4]));
SD_TTR.add(Double.parseDouble(column[5]));
Var_TTR.add(Double.parseDouble(column[6]));
}
}
}
catch (IOException e) {
e.printStackTrace();
System.out.println("The simulation has been terminated due to an IO error");
}
}
public static void main(String args[]){
GoogleFailureGenerator failgen = new GoogleFailureGenerator();
failgen.failInfo();
}
}
任何帮助都会非常明显。
提前致谢。
Yogesh Sharma答案 0 :(得分:0)
很明显,您的CSV格式不是您认为的格式。使用Excel或纯文本编辑器查看它。你应该在某个地方找到一个说
的单元格 Preview truncated at 256 rows
而不是有效的数字。
最可能的解释是CSV文件未正确下载。
你需要弄清楚为什么它没有正确下载;即为什么你有一个“预览”而不是一个完整的CSV。然后解决这个问题。
提示:在上下文中支付读取错误消息...实际的错误消息是:
java.lang.NumberFormatException:
For input string: "Preview truncated at 256 rows"
请注意,它显示数字格式异常,并且它告诉您完全它认为哪个字符串不是格式正确的数字;即双引号内的东西!!