如何用当前代码写入文件的新行?

时间:2014-07-09 10:30:03

标签: java io

我已将此代码写入文件:

File cash = new File("cash/" + username + ".txt");
    if (!cash.exists()){
        try {
            cash.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    BufferedWriter out = null;
    try {

        // Read File Contents - score
        BufferedReader br = new BufferedReader(new FileReader("cash/" + username + ".txt"));
        String storedScore="0";
        int storedScoreNumber = 0;
        while ((storedScore = br.readLine()) != null) {
            storedScoreNumber=(Integer.parseInt(storedScore==null ? "0" : storedScore));
            System.out.println("BeforeNum: " + storedScoreNumber);
        }

        // Write File Contents - incremented socre
        out = new BufferedWriter(new FileWriter("cash/" + username + ".txt", false));
        out.write(String.valueOf(storedScoreNumber + (50)));
        //out.write(String.valueOf( Something on a new line ));
        System.out.println("AfterNum: " + String.valueOf(storedScoreNumber + (50)));
        br.close();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (out != null) {
            try {
                out.close();

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

如何在out.write(String.valueOf( Something on a new line ));处将该文字写入新行,而不是现有行?

我已经尝试将\ n放在字符串中,但这似乎不起作用。

1 个答案:

答案 0 :(得分:3)

新行根据您的操作系统而有所不同。

您可以通过多种方式执行此操作,当前代码的简化是使用b.newLine()。 b.newLine()将选择用于当前平台的正确字符并将其写入输出。

另一种选择是从System.getProperty(" line.separator")中获取要使用的字符,这将返回表示新行的字符作为字符串。

我推荐第一种方法。

方法1:

out = new BufferedWriter(new FileWriter("cash/" + username + ".txt", false));
out.newLine();
out.write(String.valueOf(storedScoreNumber + (50)));

方法2:

    out.write(System.getProperty("line.separator")+String.valueOf(storedScoreNumber + (50)));