[英]Folder and file are not getting created by Java code under Linux, but it works for Windows
我對Java的io.file類有一些疑問
您可以使用靜態字段File.separator
或更好地使用nio Paths類,如下所示:
File f = Paths.get( "dir1", "dir2", "dir3" ).toFile();
為了讓某些東西可以引用絕對路徑,可以使用File.separator來啟動String參數,使用nio這個方法也可以得到它:
http://docs.oracle.com/javase/7/docs/api/java/nio/file/FileSystem.html#getSeparator%28%29
在Windows下:
File file = new File("C:\\TempFolder\\Images");
File file = new File("C:/TempFolder/Images"); // Because Windows soemtimes is nice.
在Linux下:
File file = new File("/TempFolder/Images");
之所以具有兩個反斜杠( \\\\
),是因為在字符串中必須轉義一個反斜杠: \\t
是制表符等。
如果這是您的問題,則Linux中沒有驅動器號。 對於臨時文件,您可以使用File.createTemporaryFile或createTemporaryDirectory。
其他計算機上的目錄也可以不帶驅動器號,但帶UNC路徑使用:
Windows :
\\Server\Directory\Directory
"\\\\Server\\Directory\\Directory"
Linux :
//Server/Directory/Directory
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.