我的代码将字符串拆分为3个字符串,然后打印出来。我希望每个人都被相当于“回车”分开。这是代码:
String accval = text;
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(
new FileWriter("sdcard/YS Data/Accelerometer.html",
true)));
String[] tempArr = accval.split("\\s+");
String x = tempArr[0] + "_"; //I want the enter to be where the underlines are:
String y = tempArr[1] + "_";
String z = tempArr[2] + "_";
for (String a : tempArr) {
writer.println("<h3 style=padding-left:20px;>" + x + y
+ z + "</h3><br>");
}
writer.flush();
writer.close();
} catch (IOException e) {
// put notification here later!!!
e.printStackTrace();
}
输出:
x=-0.125_y=0.9375_z=0.375
x=-0.125_y=0.9375_z=0.375
字符串用下划线分隔。
但是,我希望它看起来像这样:
x=-0.125
y=0.9375
z=0.375
x=-0.125
y=0.9375
z=0.375
感谢您的帮助。
编辑:
我在以下代码中实现了@Julius的答案,该代码打印出我想要的方式:
代码:
String accval = text;
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(
new FileWriter("sdcard/YS Data/Accelerometer.html",
true)));
String[] tempArr = accval.split("\\s+");
String x = tempArr[0];
String y = tempArr[1];
String z = tempArr[2];
for (String a : tempArr) {
writer.println("<h3 style=padding-left:20px;>" + x + "<br>" + y + <br>
+ z + "</h3><br>");
}
writer.flush();
writer.close();
} catch (IOException e) {
// put notification here later!!!
e.printStackTrace();
}
打印哪些:
x=0.25
y=125
z=1.23
x=0.125
y=725
z=0.935
答案 0 :(得分:4)
如果您希望在浏览器中显示换行符,则可以采用以下方法:
writer.println("<h3 style=padding-left:20px;>" + x + "<br/>" + y + "<br/>" + z + "<br/></h3>");
答案 1 :(得分:3)
您可以使用
System.getProperty("line.separator")
获取行分隔符。
答案 2 :(得分:1)
您可以在此处的其他答案中明确写出CR + LF。您也可以通过单独为每个项目使用println
来使用默认换行符,例如:
for (String a : tempArr) {
writer.println("<h3 style=padding-left:20px;>");
writer.println(x);
writer.println(y);
writer.println(z);
writer.println("</h3><br>");
}
这稍微冗长一些,但在CRLF不是默认行结尾的系统上不会遇到不一致的换行问题。
但请注意,HTML中的换行符可能不会呈现,除非您的CSS指定它们应该是。您可能想要写一个“&lt; br&gt;”在每个元素之后标记而不是实际的换行符,例如:
writer.println("<h3 style=padding-left:20px;>");
writer.println(x + "<br>");
writer.println(y + "<br>");
writer.println(z + "<br>");
writer.println("</h3><br>");
您不必为此使用println
(您可以使用print
或只是像以前那样连接),但它确实使生成的源更具可读性。
偏离主题,您在“&lt; h3&gt;”中使用换行符标头标签在语义上并不合适。一个“&lt; div&gt;”使用适当的样式将是一个更准确的表示,除非这些实际上作为节标题。
答案 3 :(得分:0)
"\r\n"
是Windows系统上换行符的正确字符串; "\n"
在Linux和其他基于Unix的系统上是正确的。这适用于任何一种系统:
String newline = String.format("%n");
会根据需要将newline
设置为"\r\n"
或"\n"
(或者某些操作系统来自不同星球的某些其他序列:)
编辑: %n
按照定义插入System.getProperty("line.separator")
,如另一个答案中所述。所以这些是等价的。