void processFile(File file){
        if(file.exists() == false){
            return ;
        }
        if(file.isDirectory()){
            for(String path : file.list()){
                processFile(new File(path));
            }
        }
        else{
            try {
                FileInputStream fis = new FileInputStream(file);
                FileChannel channel = fis.getChannel();
                ByteBuffer buffer = ByteBuffer.allocate(1000000);
                channel.read(buffer);
                buffer.flip();
                String encoding = System.getProperty("file.encoding");
                CharBuffer res = Charset.forName(encoding).decode(buffer);
                String content = res.toString();
                String[] lines = content.split("\\n");
                for(String line : lines) {
                    if(this.pat.matcher(line).find())
                        System.out.println(line);

                }
                /*
                while(buffer.hasRemaining())
                    System.out.print((char)buffer.get());
                */

//            } catch (FileNotFoundException e) {
//                e.printStackTrack();
            } catch (IOException e) {
                e.printStackTrace();
            }


        }
    }