【问题标题】:How to remove empty line while reading a file如何在读取文件时删除空行
【发布时间】:2016-01-19 10:39:29
【问题描述】:

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

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();
}

我找到了this code,但由于以下行,我无法实现它:

String line;
while((line = br.readLine())!= null) { ... }

他们使用line 作为String,但就我而言,我使用temp 作为int

int temp;
while((temp = sistream.read())!=-1) { ... }

有没有办法解决这个问题?

@Abdelhak 的回答是不能接受的。

【问题讨论】:

  • “但无法实现”...您接受的答案中的代码有什么问题?
  • 问题是temp,因为int

标签: java readfile filewriter


【解决方案1】:

你可以试试这样的:

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

【讨论】:

  • 除了 temp 将是一个 int 。
【解决方案2】:

解决方案非常简单。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多