在使用java练习时遇到问题,我需要从文本文件中获取输入并打印出内容,但每10个字符插入一个新换行符,例如它应该读入: 我喜欢吃冰淇淋
作为
我喜欢 吃冰块 eam
到目前为止我目前的解决方案
public class practice {
public static void main(String[] args) {
Scanner input = new Scanner (practice.class.getResourceAsStream("hello.txt"));
String currentLine = "";
String lineTen = "\n";
int charCount = 0;
while (input.hasNext()) {
currentLine = input.nextLine();
System.out.println(currentLine);
//charCount++;
for (int i = 0; i < currentLine.length(); i++) {
if (currentLine.charAt(i) != ' ' && currentLine.charAt(i) != '\n')
{
charCount++;
}
if (charCount > 20) {
currentLine = ("\n");
}
}
}
System.out.println(currentLine);
System.out.println(charCount);
}
}
任何建议都将不胜感激。
答案 0 :(得分:0)
如果您在示例中计算它们,为什么要排除空格?您应该在代码中删除它,您可以构建一个字符串,然后在完成后将其打印出来,如下所示:
try (Scanner input = new Scanner(new File("test.txt"))) {
String currentLine = "";
String result = "";
int charCount = 0;
while (input.hasNext())
currentLine += input.nextLine() + " ";
//charCount++;
for (int i = 0; i < currentLine.length(); i++) {
if (currentLine.charAt(i) != '\n') {
if (charCount >= 20) {
result+= "\n" + currentLine.charAt(i);
charCount = 1;
}
else {
result += currentLine.charAt(i);
charCount++;
}
}
else
charCount++;
}
System.out.println(result);
}
也使用try-with-resources
,如上面的代码所示。
输入:
I like to eat ice cream
输出:
I like to eat ice cre
am