How to write logs to a text file on Android

Asked 2 years ago, Updated 2 years ago, 33 views

I'm writing a log in txt log. Files, the following method is don't have any contents can be created. By default, reading a written prior to the Data in the following : I'd like to write them all to do?

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();
            }
        }

android

2022-09-22 21:30

1 Answers

public void appendLog(String text)
{       
   File logFile = new File("sdcard/log.file");
   if (!logFile.exists())
   {
      try
      {
         logFile.createNewFile();
      } 
      catch (IOException e)
      {
         // You can take appropriate exceptions.
         e.printStackTrace();
      }
   }
   try
   {
      //I wrote BufferedWriter for performance, and FileWriter's true was done to allow me to continue writing files. 
      BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
      buf.append(text);
      buf.newLine();
      buf.close();
   }
   catch (IOException e)
   {
      // You can take appropriate exceptions.
      e.printStackTrace();
   }
}

I hope it helps~


2022-09-22 21:30

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.