[英]Read text file with scanner and insert line break every 10 characters
在使用java练习时遇到问题,我需要从文本文件中获取输入并打印出内容,但每10个字符插入一个换行符,例如它应该读入:我喜欢吃冰淇淋
如
我喜欢吃冰块
继到目前为止我目前的解决方案
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);
}
}
任何建议,将不胜感激。
如果您在示例中计算它们,为什么要排除空格? 您应该在代码中删除它,您可以构建一个字符串,然后在完成时打印它,如下所示:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.