我是java新手,并为我的项目使用Netbeans IDE。我需要阅读并显示csv文件,所以我使用了opencsv库。它在我的计算机上工作正常,但jar文件无法在其他计算机上加载任何csv文件。可能是什么原因?我该怎么做才能解决这个问题?
用于读取csv文件的代码
try{
CSVReader reader = new CSVReader(new FileReader(dataFile));
String [] nextLine;
row = 0;
ArrayList<String[]> ls = new ArrayList<>();
while ((nextLine = reader.readNext()) != null) {
row++;
ls.add(nextLine);
}
col=ls.get(0).length;
String[] tempHeader=new String[col];
for(int i=0;i<col;i++)
tempHeader[i]=(String)("ATT"+(i+1));
fileData=new String[row][col];
for(int i=0;i<ls.size();i++)
fileData[i]=ls.get(i);
DefaultTableModel dm = new DefaultTableModel();
dm.setDataVector(fileData,tempHeader);
previewTable.setModel(dm);
} catch(IOException e){}
这适用于我的机器。但是我发给我朋友的jar文件无法显示该文件。
答案 0 :(得分:0)
查看错误的最简单方法是添加一些调试信息。
首先,您正在捕获IOException但在catch块中什么都不做。使用此实现,如果在您的朋友系统上读取文件时出现问题(即抛出IOException),则不会写入错误输出。你只是扔掉了例外。至少在catch块中添加一些e.printStackTrace()以将堆栈跟踪输出到控制台。
然后,您可以在while循环中添加一些(临时)调试信息,例如的System.out.println(nextLine)。这将输出从CVV文件中读取的每一行。
(更好的方法是使用像Log4J这样的日志库,但上面的建议应该在你的情况下这样做)
最后,确保你的朋友从命令行启动jar文件(而不是双击jar文件!)。错误堆栈跟踪和调试信息应显示在命令窗口中。