首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android将日志写入文本文件

Android将日志写入文本文件
EN

Stack Overflow用户
提问于 2009-11-18 22:17:35
回答 7查看 217.4K关注 0票数 136

我正在尝试写日志到自定义Log.txt文件上的安卓文件使用我的代码,但这个方法创建了文件,但没有包含任何东西。基本上,我希望读取文件以前的内容,然后将我的数据附加到现有内容。

守则内容如下:

代码语言:javascript
复制
public static void write(String str) 
    {
        InputStream fileInputStream = null;
        FileOutputStream fileOutpurStream = null;
        try
        { 
            fileInputStream = new FileInputStream(file);
            fileOutpurStream = new FileOutputStream(file);
            if(file.exists())
            {
                int ch = 0;
                int current = 0;
                StringBuffer buffer = new StringBuffer();
                while((ch = fileInputStream.read()) != -1)
                {
                    buffer.append((char) ch);
                    current++;
                }
                byte data[]=new byte[(int)file.length()];
                fileInputStream.read(data);   
                fileOutpurStream.write(data);
                fileOutpurStream.write(str.getBytes(),0,str.getBytes().length);
                fileOutpurStream.flush();
            } 
            else
            {   
                file.createNewFile();
                fileOutpurStream.write(str.getBytes(),0,str.getBytes().length);
                fileOutpurStream.flush();
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                fileInputStream.close();
                fileOutpurStream.flush();
                fileOutpurStream.close();
                fileOutpurStream = null;
                fileInputStream = null;
            }
            catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-06-02 10:15:56

希望这能有所帮助..。

代码语言:javascript
复制
public void appendLog(String text)
{       
   File logFile = new File("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();
   }
}
票数 259
EN

Stack Overflow用户

发布于 2009-11-20 06:16:49

警告:我可能完全误解了你,但是如果你想要的只是一个日志文件,为什么要担心呢?

将其放入bat文件(将路径更改为您的工具目录,您的path当然就是您的应用程序的名称):

代码语言:javascript
复制
cd "C:\devAndroid\Software\android-sdk-windows-1.6_r1\android-sdk-windows-1.6_r1\tools"
adb logcat -v time   ActivityManager:W  yourappname:D  *:W >"C:\devAndroid\log\yourappname.log"

然后在你的代码中做一些类似这样的事情:

代码语言:javascript
复制
Log.d("yourappname", "Your message");

要创建日志,请连接USB电缆并运行bat文件。

问候

票数 10
EN

Stack Overflow用户

发布于 2010-05-20 19:03:21

你应该看看microlog4android。他们有一个可以记录到文件中的解决方案。

http://code.google.com/p/microlog4android/

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1756296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档