android - 新行写入文件

标签 android filewriter

我正在尝试将我的应用程序日志写入文件。我创建了一个方法,将一行附加到该行的末尾。

    public static void write2Log(String s){
    StringBuilder contents = new StringBuilder();
    File root = Environment.getExternalStorageDirectory();
    File logFile = new File(root, "testWrite2file.log");

    if (root.canWrite()){               
        try {
            BufferedReader input =  new BufferedReader(new FileReader(logFile));
            String line = null;                            
            while (( line = input.readLine()) != null){
              contents.append(line);
             // contents.append(System.getProperty("line.separator"));            
        }
        input.close();
        FileWriter logWriter = new FileWriter(logFile);                  
        BufferedWriter out = new BufferedWriter(logWriter); 
        out.write(contents.toString()+"\r\n"+s);////<---HERE IS MY QUESTION
        out.close();
        }

        catch (IOException e) {
            Log.e("test", "Could not read/write file " + e.getMessage());
        }
    }
}

除新字符行外,一切正常。

我试过使用:

\r\n

System.getProperty("line.separator")

newline()

但我总是在一行中得到所有内容:(

有什么想法吗?

最佳答案

试试这个:

FileWriter logWriter = new FileWriter(logFile);                  
BufferedWriter out = new BufferedWriter(logWriter); 
out.write(contents.toString());////<---HERE IS THE CHANGE
out.newLine();
out.write(s);
out.close();

关于android - 新行写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932402/

相关文章:

android - 添加输入类型时 EditText 崩溃

Android 异步任务 : async-task for each viewpager fragment

android - Jsoup - 从元素中提取 html

android - RSS 应用程序停止

java - 我需要一个 SQL 查询来找到你可以用一组字母组成的所有单词,包括最多两个空白 block

java - PrintWriter无法打印出完整的字符串

java - 为什么我在循环中的第一个 .nextline 被跳过然后下一次没有跳过?以及如何阻止它覆盖?

java - 如何以编程方式将内容写入json文件

java - 将文件转换为 xml,然后将其添加到 zip

Java - 将树状图写入文本文件