Jar文件仅在我的计算机上运行

时间:2017-06-07 18:36:12

标签: java fileoutputstream

我有代码运行一个简单的运行时测试,运行一个简单文件需要多长时间,一旦完成,我将结果输出到public users文件夹中的文件。它适用于我的计算机,但不适用于任何其他人。这是我的代码

import java.awt.List;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import javax.swing.*;
    public class Speed {
    public static void main(String[] args) {

        final long length=100000000;
        List merh = new List();
        File filename = new File("C:\\Users\\Public\\filename.txt ");
        final long startTime = System.currentTimeMillis();
        for (int i = 0; i < length; i++) {
             merh.add( "Hereherehehrehrehrherh");
        }
        final long endTime = System.currentTimeMillis();

        System.out.println("Total execution time: " + (endTime - startTime) 
);

        Writer writer = null;

        try {
            writer = new BufferedWriter(new OutputStreamWriter(

                  new FileOutputStream(filename), "utf-8"));
            writer.write("Total execution time: " + (endTime - startTime));
        } catch (IOException ex) {
          // report
        } finally {
           try {writer.close();} catch (Exception ex) {/*ignore*/}
        }


     }


}

2 个答案:

答案 0 :(得分:0)

您使用的是绝对路径名,应尽量避免使用。它失败的原因很可能是因为您使用它的另一台计算机不包含目录C:\Users\Public\。相反,您应该使用System.getProperty("user.home")。这一行:

File filename = new File("C:\\Users\\Public\\filename.txt ");

因此会成为:

File filename = new File(System.getProperty("user.home") + "\\filename.txt");

System Properties

答案 1 :(得分:-1)

本守则运作良好。我在我的机器上进行了测试,输出是

总执行时间:6728

您在其他计算机上遇到什么错误