Applying Regular Expressions on the Contents of a File - Java File Path IO

Java examples for File Path IO:Text File

Description

Applying Regular Expressions on the Contents of a File

Demo Code


import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

  public void main(String[] argv) {
    try {//from w w  w  . j a  va  2  s . c om
      Pattern pattern = Pattern.compile("pattern");
      Matcher matcher = pattern.matcher(fromFile("infile.txt"));

      // Find all matches
      while (matcher.find()) {
        // Get the matching string
        String match = matcher.group();
      }
    } catch (IOException e) {
    }
  }

  public CharSequence fromFile(String filename) throws IOException {
    FileInputStream fis = new FileInputStream(filename);
    FileChannel fc = fis.getChannel();

    // Create a read-only CharBuffer on the file
    ByteBuffer bbuf = fc.map(FileChannel.MapMode.READ_ONLY, 0, (int) fc.size());
    CharBuffer cbuf = Charset.forName("8859_1").newDecoder().decode(bbuf);
    return cbuf;
  }
}

Related Tutorials