2011-11-22 17 views
0

我需要使用new File(File dir, String file)的快速提示。我專門處理Android,並不關心任何其他系統。由於基於Linux的操作系統,我只提出Android,所以我認爲它可能會有所作爲。Java/Android,新建文件語法

我想在「uot」目錄的SD卡上創建一個名爲「original」的新目錄。因此,路徑將是:"/sdcard/uot/original/"

我也想呼籲new File(systemDir, "framework-res.apk")

我的問題,簡單地說:
我需要在new File(File dir, String file)或不String部分路徑分隔符?

編輯:
我想接着調用mkdirs()在我上面創建新的文件。

要創建新的目錄,這是我應該做的:

File newDir = new File(sdcard, "/uot/"); 
newFile.mkdirs(); 

File newDir = new File(sdcard, "uot"); 
newFile.mkdirs(); 

然後爲newFile我會再調用

"cp "+newFile.getAbsolutePath()+" "+newDir.getAbsolutePath() 

要生成文件對象爲newFile,我應該這樣做:

File newFile = new File(systemDir, "framework-res.apk"); 

File newFile = new File(systemDir, "/framework-res.apk"); 

注:
systemDir將指向 「/系統/」,但我已經有獨立解決。

回答

1

不可以。您可以添加它們或不添加它們。該構造函數的意義在於,在程序中無需硬編碼平臺相關分隔符就可以更容易地構造文件引用。所以,如果你有一個父文件,你可以無需指定分隔符創建兒童引用:

File child = new File(parentFile, "child.txt"); 

看到有我們沒有使用父文件和子之間的分隔符。平臺獨立性的另一種選擇,你可以這樣做:

File child = new File(parentPath + File.separator + "child.txt"); 

在這種情況下,這是parentPath是一個字符串。最後,第二個參數可以是任何相對於parentFile的子路徑:

File grandchild = new File(parentFile, "child_directory" + File.separator + "grandchild.txt"); 
+0

謝謝,只要你是對的(我確信你是),這正是我需要的。 :) – Jakar

0

這取決於你的需要。第二個參數是孩子pathname

+0

我編輯了我的答案,但@chubbard回答了我的問題,令我滿意。不過謝謝你! – Jakar

+0

@賈卡爾 - 很高興你的工作:D – adatapost