2017-04-19 189 views
0

所以我想保存程序所需的文件,但用戶必須決定保存文件的位置......但是因爲我不希望用戶每次啓動程序時選擇路徑,程序應該保存哪裏去找文件的路徑,如何?JAVA |保存文件路徑

我讓用戶用JFileChooser選擇文件。

JButton jButton = new JButton(); 
    JFileChooser jFileChooser = new JFileChooser(); 
    jFileChooser.setCurrentDirectory(new File(System.getProperty("user.home"))); 
    jFileChooser.setDialogTitle("Choose your Path!"); 
    jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
    if(jFileChooser.showOpenDialog(jButton) == JFileChooser.APPROVE_OPTION){ 

    } 
    path = jFileChooser.getSelectedFile().getAbsolutePath(); 
    pathBind = jFileChooser.getSelectedFile().getAbsolutePath() + "/binds.jar"; 

    bindFile = new File(pathBind); 

如果需要任何進一步的信息,我會給它...對不起,如果我忘了什麼^^。

+0

您可以該目錄保存在另一個文件。將該文件保存在用戶的目錄中。使用'System.getProperty(「user.home」)'選擇用戶的主目錄。 –

+0

我這麼認爲,但程序不能記住那個文件的路徑,或者我錯了? //編輯:沒關係,我會盡力做到這一點。謝謝。 :) – ZuckerKuchen

回答

0

這類信息可能屬於用戶的喜好,您訪問使用Preferences類:

private static final String LAST_SAVE_DIR_PREFS_KEY = "last-save-dir"; 

private static final Preferences PREFERENCES = 
    Preferences.userNodeForPackage(MyUserInterface.class); 

// ... 

    String saveDir = PREFERENCES.get(LAST_SAVE_DIR_PREFS_KEY, 
     System.getProperty("user.home")); 
    jFileChooser.setSelectedFile(new File(saveDir)); 

    jFileChooser.setDialogTitle("Choose your Path!"); 
    jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
    if (jFileChooser.showOpenDialog(jButton) == JFileChooser.APPROVE_OPTION) { 

     PREFERENCES.put(LAST_SAVE_DIR_PREFS_KEY, 
      jFileChooser.getSelectedFile().toString()); 

     // ... 
    }