當我在Java中創建的文件,它會創建一個文件夾與文件名+文件類型「擴展」,例如文件串製作目錄,而不是文件名
String path = "C:"+File.separator+"hello"+File.separator+"hi.txt";
File f = new File(path);
f.mkdirs();
f.createNewFile();
這個例子中創建一個文件夾或目錄名爲「hi.txt」,而不是我所期望的文件。爲什麼這不是製作文件?
當我在Java中創建的文件,它會創建一個文件夾與文件名+文件類型「擴展」,例如文件串製作目錄,而不是文件名
String path = "C:"+File.separator+"hello"+File.separator+"hi.txt";
File f = new File(path);
f.mkdirs();
f.createNewFile();
這個例子中創建一個文件夾或目錄名爲「hi.txt」,而不是我所期望的文件。爲什麼這不是製作文件?
正如你所說的f.mkdirs();
首先創建了一個具有給定路徑的目錄。首先創建使用f.getParentFile().mkdirs()
父目錄,然後使用f.createNewFile()
創建文件:
String path = "C:"+File.separator+"hello"+File.separator+"hi.txt";
File f = new File(path);
f.getParentFile().mkdirs();
f.createNewFile();
你先指示VM創建目錄f
,然後創建文件f
。你想創建父目錄的f
,而不是目錄f
:
File parent = f.getParentFile();
boolean ret = parent.mkdirs();
現在,您應該檢查ret
,只是爲了知道是否有任何錯誤。
'f.getParentFile()mkdirs();'。 –
這是什麼問題? –
它應該如何區分何時創建文件和文件夾(參考'mkdirs')?文檔說:'創建由這個抽象路徑名命名的目錄。 –