从String名称中提取txt文件的一部分到空行

时间:2015-04-27 11:25:38

标签: java file

我想提取一个以String名称开头并以空行结尾的文本文件的一部分

以下是我的尝试:

public File CreateSubscripberFile(File file,String name) throws IOException
{

     FileWriter fw = new FileWriter(f);
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        String line;
        while((line = br.readLine()) != null){
            if(line.equals(name))
            {
                while (((line = br.readLine()) != null) && (!(line.equals("\n"))))
                {
                             fw.write(line);
                             System.out.println(line);

                }   
            }      


        }
        br.close();
        fr.close();
        fw.close();

return f;
}   

但是我得到了原始文件!

2 个答案:

答案 0 :(得分:0)

尝试替换:

(line = br.readLine())!=null)

使用:

(!(line = br.readLine()).equals(""))
此示例中的

null表示“没有更多行”,而.equals(“”)则表示空行。

答案 1 :(得分:0)

通过编辑这样的代码来完成

    public File CreateSubscripberFile(File file,String name,String fname) throws IOException
{
    File f= new File(fname);
     FileWriter fw = new FileWriter(f);
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while((line = br.readLine()) != null){
            if(line.equals(name))
            { 
                String line1 = br.readLine() ;
                while(line1 != null && !line1.isEmpty() )
                {

                    System.out.println(line1);
                    line1=br.readLine();
                }
            }
        }
        br.close();
        fw.close();
return f;
}   
相关问题