2017-06-07 46 views
-1

上我有一些代碼來運行需要多長時間運行一個簡單的文件,一旦它完成我的結果輸出到公共用戶文件夾中的文件,一個簡單的運行時測試。它適用於我的電腦,但不適用於其他人。這是我的代碼JAR文件只工作在我的電腦

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

它是否給任何錯誤消息嗎?那臺計算機是否有C:\\ Users \\ Public \\ filename.txt文件? –

回答

-1

此代碼工作得很好。我在我的機器上測試了這個輸出是

執行時間總計:6728

你在其他機器上

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

+0

filename.txt在哪裏結束呢? \用戶\ CurrentlyLoggedInAccount': – CastMagicMissle

+0

在Windows上,它會在'C結束。如果你想找到你的主目錄,你可以在命令提示符下鍵入'cd%userprofile%'。 –

相關問題