我的應用需要獲取現有文件進行處理。現在我有字符串格式的文件的路徑,我怎樣才能得到文件?難道是正確的做到這一點:Android獲取文件使用路徑(字符串格式)
File fileToSave = new File(dirOfTheFile);
這裏dirOfTheFile是文件的路徑。如果我以這種方式實現它,我會得到現有的文件還是系統會爲我創建另一個文件?
我的應用需要獲取現有文件進行處理。現在我有字符串格式的文件的路徑,我怎樣才能得到文件?難道是正確的做到這一點:Android獲取文件使用路徑(字符串格式)
File fileToSave = new File(dirOfTheFile);
這裏dirOfTheFile是文件的路徑。如果我以這種方式實現它,我會得到現有的文件還是系統會爲我創建另一個文件?
這就是你想要做的。如果文件存在,你會得到它。否則,你會創建它。您可以通過調用fileToSave.exists()
來檢查文件是否存在,如果不存在則採取適當的行動。
new
關鍵字在代碼中創建一個File
對象,不一定是設備上的新文件。
如果您是dirOfFile,我會提醒您不要使用硬編碼路徑。例如,如果您正在訪問外部存儲,請撥打Environment.getExternalStorageDirectory()
而不是硬編碼/ sdcard。
File
對象只是一個參考到一個文件(圍繞文件路徑的包裝);創建一個新的File
對象實際上並不創建或讀取該文件;要做到這一點,請使用FileInputStream來讀取,要寫入FileOutputStream,或使用各種文件幫助器方法(如exists()
,createNewFile()
等)來實際執行有關路徑上的操作。請注意,正如其他人指出的那樣,您應該使用系統提供的其中一個實用程序來定位內部或外部存儲上的目錄,具體取決於您希望文件的位置。
試試這個..
File fileToSave = new File(dirOfTheFile);
if(fileToSave.exists())
{
// the file exists. use it
} else {
// create file here
}
如果父文件夾不存在您可能需要調用fileToSave.getParentFile().mkdirs()
創建
你想要的父文件夾? –