java 模拟grep_java模拟linux命令grep
java模擬linux命令grep。
在網上看到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—————并且,這樣也有助于隱藏實際的鏈接。在有些情況下。
總結
以上是生活随笔為你收集整理的java 模拟grep_java模拟linux命令grep的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 戴尔7000怎么设置u盘启动 戴尔700
- 下一篇: 蚊子有消化系统吗?