2013-07-15 42 views
1

我写了简单的代码将数据保存到文本文件内部。但是,在运行代码之后,我不知道在哪里可以找到所需的文件。此外,我在日志中发现一条错误消息,因为内部保存文件不能按预期工作

"SPAN_EXCLUSIVE_EXCLUSIVE" 

package com.example.saving_files; 

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.io.OutputStreamWriter; 
import android.os.Bundle; 
import android.app.Activity; 
import android.util.Log; 
import android.view.Menu; 

public class MainActivity extends Activity { 

    File file; 
    FileOutputStream fos; 
    String FlieName = "output.text"; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      file = new File(FlieName); 
      try { 
       fos = openFileOutput(FlieName, MODE_PRIVATE); 
       fos.write(122); 
      } catch (FileNotFoundException e) { 
       Log.d("output", file.getAbsolutePath()); 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      file = getFilesDir(); 
      Log.d("output_path", file.getAbsolutePath()); 
     } 
    } 
+0

可能重复的[写入文件到SD卡](http://stackoverflow.com/questions/2455102/writing-a-file-to-sdcard) – jww

回答

0

请检查此代码和注释;

File sdcard = Environment.getExternalStorageDirectory(); 
File f = new File(sdcard, "/yourfile"); 

if (!f.exsist()) { 
    f.createNewFile(); 
    // Use outwriter here, (outputstream) search how to write into a text file in java code 
} 
+0

我更新了代码,如图所示,我把一个ext_sdcard放到了我的设备上。此外,我还向清单文件添加了可读写权限。 –

+0

请参阅上面的更新! –

+0

试试这个答案。 http://stackoverflow.com/a/11695619/1172945 – Tugrul

0
File sdCard = Environment.getExternalStorageDirectory(); 
File file = new File(sdCard, "filename"); 

FileOutputStream f = new FileOutputStream(file); 

该代码会在您的SD的根目录中的新文件。不要忘记添加 <uses-permission>写入您的清单中的SD