我正在编写一个代码,它从文件中读取文本,然后将其排序为最大特定宽度的行。
示例:包含“aaaa bbbb cccc dddd”的文本
指定宽度为 16
所以输出应该是
aaaa bbbb cccc //width is only 14, if dddd is added, it would be longer than 16.
dddd
我的方法:阅读文本并将其分配给字符串
Scanner input_OUT = new Scanner(new File("abc"));
PrintStream output = new PrintStream("abc");
.
.
while (input_OUT.hasNextLine()) {
str = input_OUT.nextLine();
}
String s = "";
while(input_OUT.hasNext()) { // get words if it still have
if (s.length() + input_OUT.next().length() > width) {
s = str.substring(0,s.length());
output.println(s);
str = str.substring(s.length()+1,str.length());
s = "";
}
else {
s += input_OUT.next();
}
}
虽然它编译。但是该文件没有显示任何输出。我认为我的代码不正确。我知道有 stringbuild、string split、array 的选项。但我现在被允许这样做。