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
}
...