Java在一个文件中匹配字符串
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
import java.io.*;
import java.util.regex.*;
import java.util.*;
/**
* 輸入一個(gè)MAC地址,然后查找文件,將該MAC地址對(duì)應(yīng)的企業(yè)名稱找到并解析出來。
* 文件中還有企業(yè)的注冊(cè)的詳細(xì)地址
* @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>();// 定義一個(gè)List存儲(chǔ)讀取的文本內(nèi)容
int flags = 0;// 定義一個(gè)flag存儲(chǔ)keyword出現(xiàn)的行
// 從給定的MAC地址中取出代表企業(yè)的關(guān)鍵部分;
String keyword = mac.substring(0, 8);
Pattern p = Pattern.compile(keyword);// 調(diào)用Pattern的compile方法編譯要匹配的正則
Matcher m;
int i = 0;
try {
//MAC地址與企業(yè)名稱對(duì)照文件
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++;
}
//如果找到,輸出廠商名稱;如果沒有查找到,輸出“私營(yíng)”,表示該MAC地址為錄入。
if (flags != 0) {
String result = strList.get(flags).substring(20);
System.out.println("MAC:" + mac + "屬于: " + result);
}
else {
System.out.println("私營(yíng)");
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
轉(zhuǎn)載于:https://my.oschina.net/mzzyk/blog/397712
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Java在一个文件中匹配字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: facebook海量图片存储系统与淘宝T
- 下一篇: Java内存模型的历史变迁