1

我有一个应用程序可以编写一些日志,例如

Log.d("Device Name", android.os.Build.MODEL);

如何将它们写入 SD 卡上的 .txt 文件?

如果我尝试运行简单的应用程序,它不会保存任何文件

    package com.mycompany.txt;
import android.app.*;
import android.os.*;
import java.io.*;


public class MainActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void appendLog(String text)
{       
   File logFile = new File("/mnt/sdcard/log.file");
   if (!logFile.exists())
   {
      try
      {
         logFile.createNewFile();
      } 
      catch (IOException e)
      {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }
   try
   {
      //BufferedWriter for performance, true to set append to file flag
      BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
      buf.append(text);
      buf.newLine();
      buf.close();
   }
   catch (IOException e)
   {
      // TODO Auto-generated catch block
      e.printStackTrace();
   }
}

}

我应该在 txt 文件中获取完整的日志吗?

4

1 回答 1

0

这里复制(可能重复)

  public void appendLog(String text)
{       
   File logFile = new File(Environment.getExternalStorageDirectory(),"my_app_dir/my_log_file.log");
   if (!logFile.exists())
   {
      try
      {
         logFile.createNewFile();
      } 
      catch (IOException e)
      {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
   }
   try
   {
      //BufferedWriter for performance, true to set append to file flag
      BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
      buf.append(text);
      buf.newLine();
      buf.close();
   }
   catch (IOException e)
   {
      // TODO Auto-generated catch block
      e.printStackTrace();
   }
}
于 2013-06-15T21:54:38.010 回答