Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中从输入文本文件中的字符串中分离单词并逐行打印输出文本文件_Java_String_File_Separator_Is Empty - Fatal编程技术网

在Java中从输入文本文件中的字符串中分离单词并逐行打印输出文本文件

在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{

哟,我得到了这个代码,它把所有的字符串从一个文本文件一行一行地打印到另一个文本文件。它工作得很好,但恐怕我们只能使用.isEmpty()。除了.isEmpty()之外,第二个while语句还有其他条件吗?比如计算行的大小,然后按每个循环的单词大小递减?我尝试了line.length>0,声明int size=line.length()-1并按size-=word.length()递减;但我仍然有无限循环的错误

这是我的密码

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){
    ....