Java Jar文件仅在我的计算机上工作

Java Jar文件仅在我的计算机上工作,java,fileoutputstream,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 j

我有代码来运行一个简单的运行时测试,测试运行一个简单的文件需要多长时间,一旦它完成,我就会将结果输出到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*/}
        }


     }


}
导入java.awt.List;
导入java.io.BufferedWriter;
导入java.io.File;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入java.io.PrintWriter;
导入java.io.Writer;
导入javax.swing.*;
公共级速度{
公共静态void main(字符串[]args){
最终长长度=100000000;
List merh=新列表();
文件名=新文件(“C:\\Users\\Public\\filename.txt”);
最终长启动时间=System.currentTimeMillis();
for(int i=0;i
此代码工作正常。我在我的机器上测试了这个,输出是

总执行时间:6728


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

您使用的是绝对路径名,应该尽量避免。它失败的原因可能是因为您正在使用它的另一台计算机不包含目录
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");

它是否会给您任何错误消息?另一台计算机是否有C:\\Users\\Public\\filename.txt文件?filename.txt文件在哪里结束?在Windows上,它将在
C:\Users\CurrentlyLoggedInAccount
中结束。如果要查找主目录,可以在命令提示符下键入
cd%userprofile%