2016-04-20 66 views
0

我有這個代碼,我創建一個文本文件,但正如你可以看到,路徑是硬編碼。在java上選擇路徑

如何設置用戶選擇路徑並將其傳遞給字符串的代碼,以便我可以將其放入保存txt的代碼中。

public void saveSudoku() { 

     try (


       PrintStream savedSudoku = new PrintStream(new File("C:\\Users\\Daniel\\Desktop\\savedSudoku.txt"));) { 
      for (int i = 0; i < usedMatrix.length; i++) { 
       String sudokuNumber = ""; 
       for (int j = 0; j < usedMatrix[i].length; j++) { 
        sudokuNumber += " " + userSudoku[i][j] + " "; 
       } 
       savedSudoku.println(sudokuNumber); 
      } 
      savedSudoku.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 

     try (PrintStream levelAndHint = new PrintStream(new File("C:\\Users\\Daniel\\Desktop\\savedLevel.txt"));) { 

      levelAndHint.println(labelLevel.getText() + " " + hintCounter); 

      levelAndHint.close(); 

     } catch (FileNotFoundException e) { 

      e.printStackTrace(); 

     } 

    } 
+0

這是一個獨立的Java應用程序? – sidgate

+0

如果能解決您的問題,請接受答案 – sidgate

回答

0

有多種選擇

  • 設置系統環境變量的值

    String path = System.getenv().get("custompath");

  • 保存在一個文件,該文件是在類路徑和讀取它的路徑文件

  • 如果它是一個stan dalone應用,與傳遞路徑作爲程序的參數和捕捉它的主要方法
0

你需要採取的路徑作爲使用System.in一個輸入,並追加它與文件名,因爲它傳遞的參數到「新的PrintStream」 String s;

Scanner in = new Scanner(System.in); 

    System.out.println("Enter a string"); 
    s = in.nextLine(); 

我希望它能幫助