在Java中从输入文本文件中的字符串中分离单词并逐行打印输出文本文件
哟,我得到了这个代码,它把所有的字符串从一个文本文件一行一行地打印到另一个文本文件。它工作得很好,但恐怕我们只能使用.isEmpty()。除了.isEmpty()之外,第二个while语句还有其他条件吗?比如计算行的大小,然后按每个循环的单词大小递减?我尝试了line.length>0,声明int size=line.length()-1并按size-=word.length()递减;但我仍然有无限循环的错误 这是我的密码在Java中从输入文本文件中的字符串中分离单词并逐行打印输出文本文件,java,string,file,separator,is-empty,Java,String,File,Separator,Is Empty,哟,我得到了这个代码,它把所有的字符串从一个文本文件一行一行地打印到另一个文本文件。它工作得很好,但恐怕我们只能使用.isEmpty()。除了.isEmpty()之外,第二个while语句还有其他条件吗?比如计算行的大小,然后按每个循环的单词大小递减?我尝试了line.length>0,声明int size=line.length()-1并按size-=word.length()递减;但我仍然有无限循环的错误 这是我的密码 import java.io.*; class fileStr{
import java.io.*;
class fileStr{
public static void main(String args[]){
try{
BufferedReader rw = new BufferedReader(new FileReader("inStr.txt"));
PrintWriter sw = new PrintWriter(new FileOutputStream("outStr.txt"));
String line = rw.readLine();
while(line!=null){
String word = line.substring(0,line.indexOf(" "));
while(!word.isEmpty()){
sw.println(word);
line = line.substring(line.indexOf(" ") + 1) + " ";
word = line.substring(0,line.indexOf(" "));
}
line = rw.readLine();
}
rw.close();
sw.close();
}catch(Exception e){
System.out.println("\n\tFILE NOT FOUND!");
}
}
}
请帮助,谢谢。根据isEmpty()
返回true
当且仅当字符串长度为零时。无需使用isEmpty()
,您可以非常轻松地执行完全相同的检查:
至于失败的文件,请尝试使用
length()
——为了帮助您,您应该发布一些缺少的详细信息,例如,您正在读取的文件的内容以及失败的行。为什么,计算单词的长度(word.length()>0
)不是与word.isEmpty()
相同吗?您可以尝试word.trim().isEmpty()
删除任何前导或尾随空格…谢谢!我得到了无限循环,因为我尝试了line.length()>0而不是word.length()>0。我没注意到,我想我需要休息一下。英雄联盟
while(word.length() > 0){
....