加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则读写文件匹配

发布时间:2020-12-14 01:56:33 所属栏目:百科 来源:网络整理
导读:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.Outp
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class BrasBD {

	public static void writeSQLIntoFile(BufferedWriter bw,String ipAddr){
		System.out.println(ipAddr);
			try {
				bw.write(ipAddr);
				bw.newLine();
			} catch (IOException e) {
				e.printStackTrace();
			}
	}
	
public static List<String[]> getBrasIP(String path) {
		
        FileInputStream fis;
        BufferedReader br;
        InputStreamReader isr;
        String line="";
        List<String[]> l=new ArrayList<String[]>();
        
		try {
			fis = new FileInputStream(path);
			isr=new InputStreamReader(fis,"GBK");
			br = new BufferedReader(isr);
			
			//循环读取每一行
			while ((line=br.readLine())!=null) {
				line=line.trim();
				//正则表达式   section 1 110.85.137.1 110.85.137.254
				Pattern p = Pattern.compile("(section)s+(d)s+(d+.d+.d+.d+)s+(d+.d+.d+.d+)"); 
				// 操作的字符串 
				Matcher m = p.matcher(line); 
				
				//根据正则表达式查找
				while (m.find()) { 
					System.out.println(m.group(1)+"-------"+m.group(2)+"-------"+m.group(3)+"-------"+m.group(4));
					l.add(new String[]{m.group(3),m.group(4)});
			   }  
			}
			 	
	        br.close();
	        isr.close();
	        fis.close();
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
//		System.out.println(l.size());
//		
//		for (String[] strings : l) {
//			System.out.println(strings[0]+"   "+strings[1]);
//		}
		
		return l;
    }

public static  List<String> buildSql(List<String[]> l,String BrasIP){
	List<String> sqlList=new ArrayList<String>();
	String s="";
	String s1="insert into T_SDX_INFO values(" ;
	String s2="110085181002,110085181254" ;
//	String s3=",'218.5.204.119','0596',990600,2,'sdxPort=2000,secret=testing123',0);";
	String s3=",'" +BrasIP+
			"',0);";
	
	for (String[] strings : l) {
		String B="";
		String E="";
		
		//========开始=======================
		String[] b=strings[0].split(".");
		for (int i=0;i<4;i++) {
			if(b[i].length()==1)
				b[i]="00"+b[i];
			if(b[i].length()==2)
				b[i]="0"+b[i];
			
			B=B+b[i];
		}
		//=========结束======================
		String[] e=strings[1].split(".");
		
		for (int i=0;i<4;i++) {
			if(e[i].length()==1)
				e[i]="00"+e[i];
			if(e[i].length()==2)
				e[i]="0"+e[i];
			
			E=E+e[i];
		}
		
		s2=B+","+E;
		s=s1+s2+s3;
		System.out.println(s);
		sqlList.add(s);
		
	}
	
	return sqlList;
}

public static void main(String[] args) throws IOException {

		List<String[]> l=getBrasIP("C:UsershugshDesktopBrasIP-113.txt");
		
		List<String> sqlList=buildSql(l,"218.5.204.113");
		
		
		BufferedWriter bw=new BufferedWriter(
				new OutputStreamWriter(
						new FileOutputStream("C:UsershugshDesktopBrasIP-113.sql")));
		for (String string : sqlList) {
			writeSQLIntoFile(bw,string);
		}
		bw.flush();
		bw.close();
		
	}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读