读取文件内容并生成有关SQL语句(JAVA)
对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();
}
}