2013-07-03 112 views
0

這是將文件寫入SD卡的代碼。將多個名稱的SD卡保存爲同一個文件

try { 
     File file = Environment.getExternalStorageDirectory(); 
     File myFile = new File(file, "sample.txt"); 
     myFile.createNewFile(); 
     FileOutputStream fOut = new FileOutputStream(myFile); 
     OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
     myOutWriter.append(Globals.obj.toString()); 
     myOutWriter.close(); 
     fOut.close(); 
     Toast.makeText(getApplicationContext(), "Written successfully", 
       Toast.LENGTH_SHORT).show(); 
    } catch (Exception e) { 
     Toast.makeText(getApplicationContext(), e.getMessage(), 
       Toast.LENGTH_SHORT).show(); 
    } 

這裏'sample.txt'是保存到SD卡的文件。一旦用戶輸入EditText值並點擊Button它將被保存到卡上。另一位用戶來了,他的內容保存爲'sample1.txt',另一個用戶保存爲'sample2.txt','sample3.txt'(增量順序)等等。誰能告訴我該怎麼做??

回答

1

試試這個辦法:

File file = getContext().getFileStreamPath(FILE_NAME); 
if(file.exists()){ 
... 
} 

OR

File sdCardRoot = Environment.getExternalStorageDirectory(); 
File yourDir = new File(sdCardRoot, "yourpath"); 
for (File f : yourDir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // substr the name to find the last digits 
} 

您可以檢查文件是否存在,然後添加相應的數字。

+0

謝謝!你可以繼續進行代碼嗎? – DroidLearner

+0

首先你嘗試一下。然後,如果由於某種原因,你不能繼續,讓我知道你寫了什麼,我們會想到的東西;-) – g00dy

+0

我嘗試了這樣的http://pastebin.com/hAaZTyKm,並在兩個文件中保存相同的文本。 – DroidLearner