对IO流读写文件的一次使用,具体开发中两者用使用貌似也用不到,往往仅仅是上传或者只是做一个文件内容的保存。(初始化输出流与字符输出流是关键,之后逐条write)
/**
* 规定格式的CSV转存sql语句(商品信息与商品规格信息)
* @param file文件名
* @param c 分隔符' '
* */
public static void CastToSql(Filefile,String c){
File f = new File("test.sql");
? ? ? ? FileWriter fw;
? ? ? ? BufferedWriter bw;
? ? ? ? try {
? ? ? ? ? ? fw = new FileWriter(f);// 初始化输出流
? ? ? ? ? ? bw = new BufferedWriter(fw);// 初始化输出字符流
? ? ? ? ? ? List<String[]> list = CsvUtil.getCSVDate(file,c);//(简单通过BUfferReader进行逐行读取并且以字符串集合形式返回,此处代码略若有需要可以查看之前博文)
? ? ? ?? for (int i = 0; i < list.size(); i++) {
? ? if (i==0) {
? ? continue;//第一行读取为上标 非数据故而跳过
? ? }
? ? String[] str = list.get(i);
? ? String sql= "INSERT INTO t_general_goods (partner_code,customer_code,product_code,name,category,bar_code,unit,weight,package_spec) VALUES ('"
? ? + partnerCode+ "','"+ "default_"+partnerCode+ "','"
? ? + str[0]+ "','"+ str[2]+ "','"+ str[3]+ "','"+ str[4]+ "','" + str[5] + "','" + str[6] + "','" + str[7] + "');"+"\n"+"commit;"+"\n";//根据需要获取数据并拼装成相应的sql语句输出
? ?
? ? ? ? ? ? ? ? bw.write(sql);
? ? }
? ? ? ? ? ? bw.flush();
? ? ? ? ? ? bw.close();
? ? ? ? ? ? fw.close();
? ? ? ? ? ? ?
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
}