欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java在一个文件中匹配字符串

发布时间:2025/3/20 java 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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在一个文件中匹配字符串的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。