java读取本地文件备份并解析入库
//从配置文件中获取文件路径 String filePath = Global.getConfig("filePath", "log-resolve.properties"); String copyFilePath = Global.getConfig("copyFilePath", "log-resolve.properties"); try { String encoding = "utf-8"; File file = new File(filePath); //判断文件是否存在 if(file.isFile()&&file.exists()){ //step1 备份文件,清理原文件 copyFile(filePath, copyFilePath); FileWriter fw = new FileWriter(file); BufferedWriter bw = new BufferedWriter(fw); bw.write(""); bw.close(); //step2 读取备份文件,并解析入库 File fileCopy = new File(copyFilePath); InputStreamReader read = new InputStreamReader(new FileInputStream(fileCopy),encoding); BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = ""; while((lineTxt=bufferedReader.readLine())!=null){ System.out.println(lineTxt); //截取字符串 //截取文件编号 String fileNumber = lineTxt.substring(0, lineTxt.indexOf(" ")); //截取开始时间 String str = lineTxt.substring(0, lineTxt.lastIndexOf(" ")-1); String startTime = str.substring(str.lastIndexOf(" ")+1); //截取文件名 String fileName = str.substring(str.indexOf(" ")+2, str.lastIndexOf(" ")-1); //截取结束时间 String endTime = lineTxt.substring(lineTxt.lastIndexOf(" ")+1); OneWayRunLog oneWayRunLog = new OneWayRunLog(); oneWayRunLog.setFileNumber(fileNumber); oneWayRunLog.setFileName(fileName); oneWayRunLog.setStartTime(startTime); oneWayRunLog.setEndTime(endTime); oneWayRunLogService.save(oneWayRunLog); } read.close(); }else{ System.out.println("找不到指定的文件"); } /** * 文件备份 * */ public static int copyFile(String src, String dst) { try { int len = 0; byte[] buf = new byte[1024]; FileInputStream fis = new FileInputStream(src); FileOutputStream fos = new FileOutputStream(dst); while ( (len = fis.read(buf)) != -1) { fos.write(buf, 0, len); } fis.close(); fos.close(); } catch (IOException e) { System.out.println(e); return -1; } return 0; }
posted on 2016-11-19 13:28 zhaoyifan 阅读(2403) 评论(0) 编辑 收藏 举报