jar文件无法在其他计算机上加载csv文件

时间:2014-01-10 12:07:35

标签: java netbeans jar opencsv

我是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文件无法显示该文件。

1 个答案:

答案 0 :(得分:0)

查看错误的最简单方法是添加一些调试信息。

首先,您正在捕获IOException但在catch块中什么都不做。使用此实现,如果在您的朋友系统上读取文件时出现问题(即抛出IOException),则不会写入错误输出。你只是扔掉了例外。至少在catch块中添加一些e.printStackTrace()以将堆栈跟踪输出到控制台。

然后,您可以在while循环中添加一些(临时)调试信息,例如的System.out.println(nextLine)。这将输出从CVV文件中读取的每一行。

(更好的方法是使用像Log4J这样的日志库,但上面的建议应该在你的情况下这样做)

最后,确保你的朋友从命令行启动jar文件(而不是双击jar文件!)。错误堆栈跟踪和调试信息应显示在命令窗口中。