2013-07-03 140 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