java類比linux命令grep__linux

來源:互聯網
上載者:User

在網上看到matlab類比linux的grep命令,就想到用java也來類比下linux命令grep,

演算法非常簡單,,這裡直接上代碼:

  
    /**
     * 類比Unix命令grep操作,輸出行號和行內容
     * @param path    待查詢的檔案路徑
     * @param query   待查詢的字串
     * @throws IOException

     * */
    public static void grep(String path,String query) throws IOException{
          int lineno=0;
          String line = null;
     
          FileReader in=new FileReader(path);
          BufferedReader br=new BufferedReader(in);
          System.out.println("所需處理的檔案:"+path);
          System.out.println("行號-------------"+"包含' "+query+" '的行內容");
  
          line=br.readLine();
          while(line!=null){
               lineno++;
               if(line.indexOf(query)!=-1)
                     System.out.println(lineno+"---------------"+line);
               line=br.readLine();
          }
    }
 

在junit4寫測試代碼如下:

 //@Ignore
 @Test
  public  void testGrep() throws Exception {
          String query="連結";
          String path="E:/greptest.txt";
          StringUtil.grep(path,query);
 }

 

對於如下的測試檔案greptest.txt:

    Java Servlet API中forward() 與redirect()的區別


     前者僅是容器中控制權的轉向,
     在用戶端瀏覽器地址欄中不會顯示出轉向後的地址;
     後者則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求連結。
     這樣,從瀏覽器的地址欄中可以看到跳轉後的連結地址。
     所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,
     並且,這樣也有助於隱藏實際的連結。在有些情況下,
     比如,需要跳轉到一個其它伺服器上的資源,則必須使用sendRedirect()方法。

 

得到的測試結果如下:

 

所需處理的檔案:E:/greptest.txt
行號-------------包含' 連結 '的行內容
6---------------後者則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求連結。
7---------------這樣,從瀏覽器的地址欄中可以看到跳轉後的連結地址。
9---------------並且,這樣也有助於隱藏實際的連結。在有些情況下,

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.