System.getProperty(“line.separator”)无效 - Android Studio

时间:2016-08-29 05:59:16

标签: java android

目前我有一个代码,用于检索网站纯文本并将其存储在文本文件中。我设法做到了,但是当我想在文本文件中输入一个新行时,它不起作用。

我的结果

This is the article titleThis is the starting of the first paragraph

我想要什么

This is the article title
This the starting of the first paragraph

我的源代码

public void storeHTML(Context context, ArrayList<String> storeHTML, String address) {
    try {
        File root = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/voicethenews");
        if (!root.exists()) {
            root.mkdirs();
        }

        address = address.substring(address.lastIndexOf("/") + 1);

        File gpxfile = new File(root, address + ".txt");
        FileWriter writer = new FileWriter(gpxfile);

        //FileOutputStream fileOutputStream = new FileOutputStream(gpxfile);
        //BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));

        for(int i = 0; i < storeHTML.size(); i++) {

            //bufferedWriter.write(storeHTML.get(i));
            //bufferedWriter.newLine();
            writer.append(storeHTML.get(i) + System.lineSeparator());


        }

        writer.flush();
        writer.close();
        Toast.makeText(context, "Saved", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

我尝试过多个代码和解决方案,但它仍无效。

3 个答案:

答案 0 :(得分:1)

我找到了它没有按照我的意图显示的实际原因。

由于我使用默认记事本打开文本文件,它首先似乎不起作用的原因。当使用其他文本编辑器(例如notepad ++)打开时,文本文件中的输出按预期写入。

答案 1 :(得分:0)

如果您从HTML获取详细信息。因此,请使用<br>代替<br \>

这是一个将文本添加到textView b

的示例代码
b.setText(Html.fromHtml("<b>" + st + "</b>" + "<br/>" + cursor.getString(1)));

参考:How do i add a new line in html format in android?

答案 2 :(得分:0)

这个问题可能正在解决您遇到的完全相同的问题:

System.lineSeparator() doesn't exist in android

1.7版SDK中存在一个错误,您必须直接调用环境变量。