从文件中删除空行

时间:2014-12-12 05:49:49

标签: java file writing

我正在尝试通过在我的程序中添加以下coedes来删除文件中的空行

private static void Normalize(File f) throws FileNotFoundException, IOException {

                    if(!temp.exists()){
                         temp.createNewFile();
                    }

                    FileOutputStream fop=new FileOutputStream(temp,true);

                    Set<String> uniqueLines = new HashSet<String>();
                    BufferedReader  br = new BufferedReader(new FileReader(f));
                    String readLine=br.readLine();
                    for(final String s : readLine.split(" ")){
                        fop.write(s.getBytes());
                        fop.write(System.getProperty("line.separator").getBytes());

                    }
                    uniqueLines.add(readLine);
                    while((readLine=br.readLine())!=null)
                    {

                       if (!uniqueLines.contains(readLine)) {

                         for(final String s : readLine.split(" ")){
                            fop.write(s.getBytes());
                            fop.write(System.getProperty("line.separator").getBytes());

                        }

                        uniqueLines.add(readLine);
                    }
                  }
                }

但问题是,仍然存在一些空白行,这对我的其余程序造成了问题。任何想法如何解决它?

修改

也许这会有所帮助。我想删除空白行的原因是当我使用Tokenizer时,它会在到达空白行时给出异常:

   String finished=tokenizer.nextToken();
    if(!stopWords.contains(finished))
    {
    write(finished); 

    }

在写入部分,它给出了NotsuchElementExist例外

1 个答案:

答案 0 :(得分:1)

使用

 while((readLine=br.readLine())!=null)
  {

   if (readLine.isEmpty() || readLine.trim().equals("") || readLine.trim().equals("\n"))
        continue;
...