Java 如何在读取文件时删除空行

Java 如何在读取文件时删除空行,java,readfile,filewriter,Java,Readfile,Filewriter,我想知道如何在读/写文件时删除空行 for(int i=1;i<=count;i++) { FileInputStream fistream1; try { name1="file1"+Integer.toString(i)+".txt"; fistream1 = new FileInputStream(name1); // first source file fistream2 = new FileInputStream("

我想知道如何在读/写文件时删除空行

for(int i=1;i<=count;i++) {
    FileInputStream fistream1;
    try {
        name1="file1"+Integer.toString(i)+".txt";
        fistream1 = new FileInputStream(name1); // first source file
        fistream2 = new FileInputStream("Result.txt");  //second source file
        sistream = new SequenceInputStream(fistream2, fistream1);  
        fostream= new PrintWriter(new BufferedWriter(new FileWriter( result+".txt", true)));

        while( ( temp = sistream.read() ) != -1) {
            fostream.write(temp);   // to write to file
        }

        fostream.println("");
        fostream.close();
        sistream.close();
        fistream1.close();
        fistream2.close();
}
他们将
用作
字符串
,但在我的例子中,我将
temp
用作
int

int temp;
while((temp = sistream.read())!=-1) { ... }
有没有办法解决这个问题


@Abdelhak的答案是不可接受的。

您可以尝试以下方法:

while( ( temp = sistream.read() ) != -1) {
  if (!temp.trim().equals(""))
  {
    fostream.write(temp); // to write to file
  }
...

解决办法很简单


我应该读取行而不是读取字节,以确定行是否为空,并将BufferedReader与SequenceInputStream结合使用。

“但无法实现它”。。。您对接受答案中的代码有什么问题?问题是
temp
,原因是
int
,但temp将是int。
while( ( temp = sistream.read() ) != -1) {
  if (!temp.trim().equals(""))
  {
    fostream.write(temp); // to write to file
  }
...