0
guys!我試圖追加文件夾到user.home屬性。它工作很好,而我只使用一個額外的文件夾。但是,當我嘗試做另外兩個補充(因此它看起來像user.home + folder1 + folder2 + folder3)它會顯示--- java.lang.IllegalArgumentException:文件夾參數必須是一個有效的文件夾--- 。我雖然有一些限制,但無法找到在哪裏。如何將兩個以上的文件夾附加到user.home java
String fullRoute = null;
File homeDir = new File("MLog");
if (!SiteCo.getEditor().getText().isEmpty() &&
!InciDate.getEditor().getText().isEmpty()) {
homeDir.mkdirs();
fullRoute = System.getProperty("user.home") + File.separator +
//SaveVarTo.getLastVisitedDirectory() +
SaveVarTo.AddPath(SiteCo.getValue().toString()) +
File.separator + SaveVarTo.AddPath(InciDate.getValue().toString());
}
else {homeDir.mkdirs();
// File.separator+homeDir.toString() - without it
fullRoute =
System.getProperty("user.home")+File.separator+homeDir.toString();}
System.out.println(fullRoute);
fileChooser.setInitialDirectory(new File(fullRoute));
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("XML Files", "*.xml"));
//sample of method
public class Variables{
public String AddPath(String name) {
if (!name.isEmpty()) {
//File nou = new File(getLastVisitedDirectory() +"\\" + name);
File nou = new File(name);
if (!nou.exists()) {
nou.mkdirs();
} else {
System.out.println("Folder already exists");
}
}
else{name = null;}
return name;
}}
請分享由此造成的錯誤日誌 –
:java.lang.IllegalArgumentException異常:文件夾參數必須是一個有效的文件夾 \t在com.sun.glass.ui.CommonDialogs.convertFolder(CommonDialogs.java: 238) \t在com.sun.glass.ui.CommonDialogs.showFileChooser(CommonDialogs.java:190) \t在com.sun.javafx.tk.quantum.QuantumToolkit.showFileChooser(QuantumToolkit.java:1496) \t在JavaFX的.stage.FileChooser.showDialog(FileChooser.java:416) \t在javafx.stage.FileChooser.showSaveDialog(FileChooser.java:392) \t在ru.mlog.xmlread.gui.MainController.SaveToButton(MainController.java:142) \t ... 62多個 –
打印的System.out .print(fullRoute),然後檢查正確的路徑,如果路徑沒有問題,那麼路徑退出或不退出,如果沒有退出創建。那麼它會工作 –