首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >行尾,FileWriter \n

行尾,FileWriter \n
EN

Stack Overflow用户
提问于 2012-04-23 20:48:16
回答 7查看 11.5K关注 0票数 0

我试图将一个换行符附加到一个已经存在的文件中,但是我尝试过的所有命令都只会附加到第一行。我希望文件中的输出看起来像这样

ROW1

ROW2

代码语言:javascript
复制
 private void addToFavToFile(String site){
        BufferedWriter writer = null;
        File root = Environment.getExternalStorageDirectory();
        try{
            writer = new BufferedWriter(new FileWriter(Environment.getExternalStorageDirectory()+"/test2.txt",true));
            writer.write("ROW1");
            writer.newLine();
            writer.write("ROW2");
            writer.close();
        }catch(Exception e){

        }

我该如何解决这个问题?

EN

回答 7

Stack Overflow用户

发布于 2012-04-23 22:07:57

我已经尝试了下面的代码,它似乎产生了你想要的东西。

代码语言:javascript
复制
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class TestNewLines {

public static void main(String[] args) {
    TestNewLines testFiles = new TestNewLines();
    testFiles.addToFavToFile("");
}

private void addToFavToFile(String site){
    BufferedWriter writer = null;
    try{
        writer = new BufferedWriter(new FileWriter("test.txt",true));
        insertEmptyLine(writer);
        writer.write("ROW1: " + System.currentTimeMillis());
        insertEmptyLine(writer);
        writer.write("ROW2: " + System.currentTimeMillis());
        insertSeperator(writer);
        writer.close();
    } catch(Exception e){

    }
}

private void insertEmptyLine(BufferedWriter writer) throws IOException {
    writer.newLine();
    writer.newLine();
}

private void insertSeperator(BufferedWriter writer) throws IOException {
    writer.newLine();
    writer.write("********************");
}
}

为了测试它,我放了一行"This is the first line“。在我的测试文件的开头。运行几次后,输出如下所示:

这是第一行。

ROW1: 1335189657127

ROW2: 1335189657127

ROW1: 1335189658390

ROW2: 1335189658390

ROW1: 1335189665738

ROW2: 1335189665738

ROW1: 1335189679638

ROW2: 1335189679638

正如您从时间戳中看到的,我每次都会在文件的末尾添加新的行。

票数 1
EN

Stack Overflow用户

发布于 2012-04-23 20:51:05

请使用以下代码,

代码语言:javascript
复制
private void addToFavToFile(String site){
    BufferedWriter writer = null;
    File root = Environment.getExternalStorageDirectory();
    try{
        writer = new BufferedWriter(new FileWriter(Environment.getExternalStorageDirectory()+"/test2.txt",true));
        writer.write("ROW1");
        writer.newLine();
        writer.write("ROW2");
        writer.newLine();
        writer.close();
    }catch(Exception e){

    }
票数 0
EN

Stack Overflow用户

发布于 2012-04-23 20:53:36

不使用writer.newLine();

您应该使用writer.write("\\n\\r");

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

https://stackoverflow.com/questions/10280865

复制
相关文章

相似问题

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