在Java中从BufferedReader中过滤文本

在Java中从BufferedReader中过滤文本,java,text,file-io,buffer,Java,Text,File Io,Buffer,目前正在进行一个项目,该项目要求我读取超过50k行的文件输入。我目前正在使用BufferedReader类读入输入并在文本区域中显示数据。目前,应用程序只是在我自己的HMI中复制文件,类似于文本编辑器,但我想区别的是,每行都有一些我不想在文本区域中显示的起始词。。。我相信我缺乏使用缓冲器的经验是造成我的问题的原因。我尝试过按照以下思路实现代码: private void insertSyrFile(BufferedReader buffer, JFileChooser chooser) thro

目前正在进行一个项目,该项目要求我读取超过50k行的文件输入。我目前正在使用BufferedReader类读入输入并在文本区域中显示数据。目前,应用程序只是在我自己的HMI中复制文件,类似于文本编辑器,但我想区别的是,每行都有一些我不想在文本区域中显示的起始词。。。我相信我缺乏使用缓冲器的经验是造成我的问题的原因。我尝试过按照以下思路实现代码:

private void insertSyrFile(BufferedReader buffer, JFileChooser chooser) throws IOException{
    String line;
    //reader = "\n";
    try{
        reader = new FileReader(chooser.getSelectedFile().toString());
        buffer = new BufferedReader(reader);

        while ((line = buffer.readLine()) != null){
        if (!line.startsWith("Elaborating"))
            origSyrTextFeild.read(buffer, null);

    }
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }       
}
此代码是通过以下按钮事件处理程序实现的:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    JFileChooser chooser = new JFileChooser();
    chooser.showOpenDialog(null);
    syrFile.openFile(chooser.getSelectedFile().toString());

    try {
        insertSyrFile(buffer, chooser);     //origSyrTextFeild.setText(syrFile.readFileLine());
    } catch (IOException ex) {
        Logger.getLogger(ParsingAppMainFrame.class.getName()).log(Level.SEVERE, null, ex);
    }   
}
。。。使用这段代码,即使我有if语句来检查字符串,原始文件仍然是复制的,没有对文件进行任何处理。我仍然是java的初学者,但是如果有人了解我的目标,并且有任何见解,我会很感激任何想法

我想您可以使用“origsyrtextfield.append(line);”而不是“origsyrtextfield.read(buffer,null);”。因为if语句检查“line”但“read”方法从原始缓冲区获取内容