java讀取txt檔案並解析其內容
阿新 • • 發佈:2018-11-24
package readtext;/* @author wb @great forever i think,therefor i am */ import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; public class readtest { private static final String fileName = "/Users/sss/Desktop/addressBook.txt"; public static void main(String[] args) { //讀取檔案 BufferedReader br = null; StringBuffer sb = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "GBK")); //這裡可以控制編碼 sb = new StringBuffer(); String line = null; while ((line = br.readLine()) != null) { sb.append(line); } } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); } catch (Exception e) { e.printStackTrace(); } } String s = new String(sb); //StringBuffer ==> String System.out.println("addressBook.txt內容為==> " + s); System.out.println( ); //1、匹配子串 String regex = "1[378][0-9]{9}"; //2、獲取匹配器 Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); //3、使用匹配器的group()方法來獲取:(find方法是判斷是否具有匹配子串)、 System.out.println("”" + s + "符合要求的電話號碼有:"); while (m.find()) { System.out.println(m.group()); } } }