Java在一个文件中匹配字符串
為什么80%的碼農都做不了架構師?>>> ??
import java.io.*;
import java.util.regex.*;
import java.util.*;
/**
* 輸入一個MAC地址,然后查找文件,將該MAC地址對應的企業名稱找到并解析出來。
* 文件中還有企業的注冊的詳細地址
* @author ZYK
*
*/
public class SearchFile {
public static void main(String arg[]) {
String mac = "74-AD-B7-7F-CD-DE";
// String mac = "c4-6a-b7-e9-ba-00";
// String mac = "74-51-BA-5E-99-DB";
macSearch(mac.toUpperCase());
}
public static void macSearch(String mac) {
List<String> strList = new ArrayList<String>();// 定義一個List存儲讀取的文本內容
int flags = 0;// 定義一個flag存儲keyword出現的行
// 從給定的MAC地址中取出代表企業的關鍵部分;
String keyword = mac.substring(0, 8);
Pattern p = Pattern.compile(keyword);// 調用Pattern的compile方法編譯要匹配的正則
Matcher m;
int i = 0;
try {
//MAC地址與企業名稱對照文件
Reader re = new FileReader(new File(
"F:\\EcpliseForJAVA\\Workspace0\\SNMP\\res\\oui.txt"));
BufferedReader bre = new BufferedReader(re);
while (bre.ready()) {
String str = bre.readLine();
strList.add(str);
m = p.matcher(str);
if (m.find())// 查找正則匹配的子串是否存在
{
flags = i;// 記錄匹配的行
break;
}
i++;
}
//如果找到,輸出廠商名稱;如果沒有查找到,輸出“私營”,表示該MAC地址為錄入。
if (flags != 0) {
String result = strList.get(flags).substring(20);
System.out.println("MAC:" + mac + "屬于: " + result);
}
else {
System.out.println("私營");
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
轉載于:https://my.oschina.net/mzzyk/blog/397712
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Java在一个文件中匹配字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: facebook海量图片存储系统与淘宝T
- 下一篇: windows下启动/关闭Sybase数