Java 在Eclipse中生成但不在jar文件中的输出文件

Java 在Eclipse中生成但不在jar文件中的输出文件,java,eclipse,Java,Eclipse,我有一个简单的解析程序,它接受一些文件并将它们组合起来。然后,它生成一些输出文件到工作目录。当我在eclipse中运行这个程序时,它会生成所有必需的输出文件。然而,当我使用eclipse中生成的jar运行它时,它只创建三个输出文件中的两个。这让我觉得jar文件的生成方式有问题,但似乎找不到任何答案 我尝试过更新一些java,我相信它是用Java5编写的。我刚刚将向量更改为ArrayList,将FileOutputStream更改为FileWriter 我必须下载javax.mail以获得所需的库

我有一个简单的解析程序,它接受一些文件并将它们组合起来。然后,它生成一些输出文件到工作目录。当我在eclipse中运行这个程序时,它会生成所有必需的输出文件。然而,当我使用eclipse中生成的jar运行它时,它只创建三个输出文件中的两个。这让我觉得jar文件的生成方式有问题,但似乎找不到任何答案

我尝试过更新一些java,我相信它是用Java5编写的。我刚刚将向量更改为ArrayList,将FileOutputStream更改为FileWriter

我必须下载javax.mail以获得所需的库,并将这些jar文件添加到我在Eclipse中使用的java6库中。我尝试过删除类并生成新类。我试图检查jar文件的权限,以确保我可以访问它。我想我只是不知道从哪里开始

我还尝试将其打包为一个jar文件,而不是一个可运行的jar文件,因为它为我提供了更多关于包含内容的选项。然而,我不能运行这种类型的jar文件,即使它是一个可执行文件。我已经多次重新创建了jar文件,但没有任何运气

UTF-8在jar文件中显示不正确,但在eclipse中显示良好,这给人们带来了很多问题。然而,他们的jar文件生成了文本文件,而我的jar文件并没有生成文本文件

更新:有趣的是,如果我将代码块移动到它自己的类中,并将其作为一个单独的jar运行,它就会工作。所以现在的解决方案是有两个jar文件

这是未生成文件的代码:

private static void parseCRNOnly() { 
try { 
    //file to write to 
    File new_file = new File("CRNOnlyClean.txt"); 
    FileWriter out = new FileWriter(new_file); 

    //file to read from 
    File file = new File("CRNOnly.txt"); 
    FileReader reader = new FileReader(file); 
    BufferedReader buf = new BufferedReader(reader); 

    try{ 
        String str; 
        String temp = "\r"; 
        String nl = "\r\n"; 
        String tab = "\t"; 

        str = buf.readLine(); 

        while (str != null && !str.isEmpty()) { 
            StringTokenizer tokenizer = new StringTokenizer(str," \t"); 
            int column = 0; 
            while(tokenizer.hasMoreTokens()) { 
                column++; 
                temp = tokenizer.nextToken(); 
                if(column == 8){ 
                    break; 
                } 
            out.write(temp); 
            out.write(tab); 
         } 
         out.write(nl); 

         str = buf.readLine(); 
         } 

         out.close(); 
      } catch(IOException e0){ 
            System.out.println("Error Reading From CRNOnly.txt"); 
            JOptionPane.showMessageDialog(null, "Error Reading From CRNOnly.txt"); 
        } 
      } catch(FileNotFoundException e1){ 
            System.out.println("File CRNOnly.txt Not Found"); 
            JOptionPane.showMessageDialog(null, "File CRNOnly.txt Not Found"); 
      } catch (IOException e) { 
            System.out.println("Error Reading from FileWriter"); 
            JOptionPane.showMessageDialog(null, "Error Reading from FileWriter"); 
      } 

出于某种原因,jar文件没有包含一些我必须从javax.mail添加的旧库,因此我尝试使用netbeans生成jar文件,结果成功了。Netbeans也没有将javax.mail库打包到jar文件中,而是将它们与jar文件一起包含在一个文件中。因此,要使用JAR文件,这个文件也必须在目录中。那是一堵很难的文字墙。考虑删除无关的部分(如“我读博客,它没有帮助”)。抱歉,只是想把所有的信息都弄出来。这可能是我第一次在这里张贴,人们似乎不喜欢我原来的帖子,因为我没有发布足够的信息。我试着去研究它,所以这个静态方法从一个文件读取,然后写入另一个文件。是否有几种这样的方法,只有一种方法在eclipse中工作,而只有一种方法在eclipse中工作?当该方法不起作用时,是否有任何消息(来自异常处理)?