如何将输出放在输出文本文件的新行中

时间:2016-03-11 12:05:20

标签: java jtable

所以我是java中的菜鸟,我需要帮助。我正在为我的项目创建一个考勤计划。所以,如果我碰巧点击"提交"按钮,程序要求用户输入文件名,然后点击" OK"它在给定的文件路径中创建了一个文本文件,问题是,我的输出是直线的,我不知道该怎么做,我已经尝试过这么多的newLine" \ n&# 34;在我的代码中,但它不起作用。

if (listen.getActionCommand().equals("Submit")) {

    final234();

    File dir = new File("D://blablabla");
    dir.mkdir();
    String name1 = JOptionPane.showInputDialog("Enter the name of the file: ");
    File f = new File(dir, name1 + ".txt");

    try {
        if (f.createNewFile()) {
            System.out.println("A new File has been created.");

            op = "";
            PrintWriter pw = new PrintWriter(f);
            BufferedWriter bw = new BufferedWriter(pw);
            for (int i = 0; i < table.getRowCount(); i++) {
                for (int j = 0; j < table.getColumnCount(); j++) {
                    op += (table.getValueAt(i, j) + " ");
                }
                op = "\n";
            }

            System.out.println(op);

            bw.write(op + "\n");
            bw.newLine();
            bw.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:0)

您可能遇到问题,因为基于 Windows Unix 的系统上的换行符表示不同。 在 Windows "\r\n"上,而在 Unix 中确实是"\n"。 确保您使用正确字符的最佳方法是使用System.lineSeparator(),这将为您返回正确的字符。

此外:

op = "\n";

表示您只需使用&#34; \ n&#34;初始化变量。并覆盖其先前的内容。

每次要在当前字符串中添加新行时,都可以op += System.lineSeparator();