欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java实现Grep,javagrep,import java.

来源: javaer 分享于  点击 22925 次 点评:216

Java实现Grep,javagrep,import java.


import java.io.*;public class grep{    public static void main(String [] args) throws IOException{        if(args.length<1){            System.out.println("zu wenige Parameter");            throw new IllegalArgumentException("zu wenig Parameter!");        }        boolean reversed =false;        String pattern;        String sfile ="";        try{        if(args[0].equals("-v")){            reversed = true;            pattern =args[1];            if(args.length>2){                sfile = args[2];            }        }else{            pattern = args[0];            if(args.length==2){                sfile = args[1];            }        }        }catch(IndexOutOfBoundsException ex){            System.out.println("Irgendwas ist beim verarbeiten der Parameter schiefgegangen: " + ex);            return;        }        if (!(sfile.equals(""))){            File myfile;            try{                myfile = new File(sfile);            }catch(NullPointerException ex){                System.out.println("uhhps das sollte nicht passieren: " + ex);                return;            }            BufferedReader myreader;            try{            myreader = new BufferedReader(new FileReader(myfile));            }catch(FileNotFoundException ex){                System.out.println("File Not Found: " + ex);                return;            }            search(myreader, reversed, pattern);        }else{            BufferedReader myreader = new BufferedReader(new InputStreamReader(System.in));            try{                search(myreader, reversed, pattern);            }catch(IOException ex){                System.out.println("IO Fehler: " +ex);            }        }    }    private static void search(BufferedReader myreader, boolean reversed, String pattern) throws IOException{        //System.out.println("Suche nach: " + pattern);        while(myreader.ready()){            String sline = myreader.readLine();            if (reversed){                if(!sline.contains(pattern)){                    System.out.println(sline);                }            }else{                if (sline.contains(pattern)){                    System.out.println(sline);                }            }        }    }}//该片段来自于http://byrx.net
相关栏目:

用户点评