按行读取文件,分隔字符串,形成sql语句,写入到文件中。

从手机号段文件中按行读取文件,分隔字符串,形成sql语句,并写入到文件中。

import java.io.*;
import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");

        ArrayList<String> phoneNoList = new ArrayList<String>();
        try {
            //BufferedReader是可以按行读取文件
//            FileInputStream inputStream = new FileInputStream("E:\\work\\smartCity\\tianjinphone.txt");
            FileInputStream inputStream = new FileInputStream("E:\\work\\smartCity\\haoduannew.csv");
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

            String str = null;
            while(( str = bufferedReader.readLine() ) != null)
            {
//                System.out.println(str);
                String[] sourceStrArray = str.split(",");
                System.out.println("first " + sourceStrArray[0] + " end " + sourceStrArray[1]);
                String lineS = sourceStrArray[0].substring(0, 7);
                String lineE = sourceStrArray[1].substring(0, 7);
                System.out.println("lineS " + lineS + " lineE " + lineE);

                Integer phoneS = Integer.parseInt(lineS);
                Integer phoneE = Integer.parseInt(lineE);

                Integer phone = phoneS;
                int count = 0;
                while ( phone <= phoneE ) {

                    if( !phoneNoList.contains(String.valueOf(phone)) ) {
                        phoneNoList.add(String.valueOf(phone));
                        count++;
                    }
                    phone++;

                }

                System.out.println("phoneNo size " + count);

            }

            System.out.println("phoneNoList size " + phoneNoList.size());
            //close
            inputStream.close();
            bufferedReader.close();

            String newPath =  "E:\\work\\smartCity\\newtianjinphone.txt";
            WriteStringToFile2(newPath, phoneNoList);

            String newPathSql =  "E:\\work\\smartCity\\sqltianjin.sql";
            WriteStringToFileSql(newPathSql, phoneNoList);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static void WriteStringToFileSql(String filePath, ArrayList<String> phoneNoList ) {
        try {

            File file = new File(filePath);
            if( !file.exists() ){

            } else {
                file.delete();
            }
            file.createNewFile();

            FileWriter fw = new FileWriter(filePath, true);
            BufferedWriter bw = new BufferedWriter(fw);

            int len = phoneNoList.size();
            for( int i = 0; i < len; i++ ) {
//                bw.append(phoneNoList.get(i));
//                bw.append(",");
//                bw.append("城市");
//                bw.append(",");
//                bw.append("城市");


                StringBuilder sql = new StringBuilder("insert into city_phone_map (phoneNo, province, city) values( \'");
                sql.append(phoneNoList.get(i));
                sql.append("\',\'");
                sql.append("城市");
                sql.append("\',\'");
                sql.append("城市");
                sql.append("\');");

                bw.append(sql.toString());
                bw.append("\r\n");
            }

            bw.close();
            fw.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void WriteStringToFile2(String filePath, ArrayList<String> phoneNoList ) {
        try {

            File file = new File(filePath);
            if( !file.exists() ){
            }else {
                file.delete();
            }

            file.createNewFile();

            FileWriter fw = new FileWriter(filePath, true);
            BufferedWriter bw = new BufferedWriter(fw);

            int len = phoneNoList.size();
            for( int i = 0; i < len; i++ ) {
                bw.append(phoneNoList.get(i));
                bw.append(",");
                bw.append("天津");
                bw.append(",");
                bw.append("天津");
                bw.append("\r\n");
            }

            bw.close();
            fw.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值