读取文件然后拼装成sql语句

本文介绍了一个使用Java实现的文件读取工具,该工具通过FileInputStream、InputStreamReader和BufferedReader来逐行读取文本文件,并对每行数据进行特定格式的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package questiontool;

import java.io.BufferedInputStream;  
import java.io.BufferedOutputStream;  
import java.io.BufferedReader;
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.InputStreamReader;
  
public class QuestionTool {  
  
    public static void main(String[] args) {  
    	   FileInputStream fis = null;
    	   InputStreamReader isr = null;
    	   BufferedReader br = null; //用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
    	   try {
    	    String str = "";
    	    String[] str1;
    	    String str2;
    	    fis = new FileInputStream("D:\\a.txt");// FileInputStream
    	    // 从文件系统中的某个文件中获取字节
    	     isr = new InputStreamReader(fis);// InputStreamReader 是字节流通向字符流的桥梁,
    	     br = new BufferedReader(isr);// 从字符输入流中读取文件中的内容,封装了一个new InputStreamReader的对象
    	    while ((str = br.readLine()) != null) {
    	    	str1 = str.split(" ");
    	    	for (int i = 0; i < str1.length; i++) {
    	    		str = "update ecpprd.t_sal_policy set order_date  = to_date('"+str1[0]+
    	    	          "', 'yyyy/mm/dd hh24:mi:ss'),effect_date = to_date('"+str1[1]+
							"', 'yyyy/mm/dd'),start_date  = to_date('"+str1[2]+
							"', 'yyyy/mm/dd'),end_date    = to_date('"+str1[3]+
							"', 'yyyy/mm/dd') where apply_code = '"+str1[4]+"';\n";
				}
    	      
    	    	System.out.println(str);// 打印出str
    	    }
    	   } catch (FileNotFoundException e) {
    	    System.out.println("找不到指定文件");
    	   } catch (IOException e) {
    	    System.out.println("读取文件失败");
    	   } finally {
    	    try {
    	      br.close();
    	      isr.close();
    	      fis.close();
    	     // 关闭的时候最好按照先后顺序关闭最后开的先关闭所以先关s,再关n,最后关m
    	    } catch (IOException e) {
    	     e.printStackTrace();
    	    }
    	   }
    }      
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值