为什么不在Android中的文本文件中创建新行?

时间:2014-06-25 20:30:35

标签: java android file

这是我的Android应用中的一种方法,应该在添加新的String文本之前在文本文件中创建一个新行。但是,当它运行时,没有新行。

    public void addTextToFile(String text) {
    try
    {
        File log=new File(getFilesDir()+File.separator+"MileageLog.txt");

        BufferedWriter bufferedWriter=null;
        if(log.exists()==false)
        {
            bufferedWriter = new BufferedWriter(new FileWriter(log+"\n"));


        }else{
            bufferedWriter = new BufferedWriter(new FileWriter(log+"\n", true));

        }
        String[] lines=text.split("\n");
        for(String line:lines)
        {
            bufferedWriter.write(line);

        }
        bufferedWriter.close();
        Toast.makeText(getBaseContext(), "Added Successfully", Toast.LENGTH_SHORT).show();
        finish();
    }catch(IOException ex)
    {
        ex.printStackTrace();

    }

2 个答案:

答案 0 :(得分:1)

因为你没有写新行字符(你实际上是按新行字符拆分文字,所以lines 中没有新行字符)

将其更改为

bufferedWriter.write(line);
bufferedWriter.newLine();

如果你想在每一行之后添加新行

答案 1 :(得分:1)

您还可以使用将编写行分隔符的newLine()方法。有关详细信息,请查看链接:Android BufferedWriter