日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

java 模拟grep_java模拟linux命令grep

發(fā)布時(shí)間:2025/4/5 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 模拟grep_java模拟linux命令grep 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java模擬linux命令grep。

在網(wǎng)上看到matlab模擬linux的grep命令,就想到用java也來模擬下linux命令grep,

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

/**

* 模擬Unix命令grep操作,輸出行號和行內(nèi)容

* @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+” ‘的行內(nèi)容”);

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()的區(qū)別

前者僅是容器中控制權(quán)的轉(zhuǎn)向,

在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;

后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。

這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。

所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward()方法,

并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,

比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sendRedirect()方法。

得到的測試結(jié)果如下:

所需處理的文件:E:/greptest.txt

行號————-包含’ 鏈接 ‘的行內(nèi)容

6—————后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。

7—————這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。

9—————并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下。

總結(jié)

以上是生活随笔為你收集整理的java 模拟grep_java模拟linux命令grep的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。