所以我是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();
}
}
答案 0 :(得分:0)
您可能遇到问题,因为基于 Windows 和 Unix 的系统上的换行符表示不同。
在 Windows 它"\r\n"
上,而在 Unix 中确实是"\n"
。
确保您使用正确字符的最佳方法是使用System.lineSeparator()
,这将为您返回正确的字符。
此外:
op = "\n";
表示您只需使用&#34; \ n&#34;初始化变量。并覆盖其先前的内容。
每次要在当前字符串中添加新行时,都可以op += System.lineSeparator();
。