1. 程式人生 > 實用技巧 >對檔案內容就行修改-java程式碼

對檔案內容就行修改-java程式碼

在實際的生產中,會遇到資料庫版本的不同,sql語句的語法會出現改變,

我在這次的金倉資料庫中就遇到了,V8版本的建表語句跟V7版本的不一樣,所以需要對裡面內容進行修改

從圖中我們可以看到到,這個是金倉資料庫v8版本匯出的建表語句,這個語句在v7版本是不能執行的

我們需要做的就是

在這分享一小段java程式碼,本人是個菜鳥,大家看到寫得不好也請見諒!

首先在idea裡面建立一個maven專案,具體的建立步驟就不多說了

package com.gong;

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

public class SqlDeal { //按行讀取檔案內容到集合 public static List<String> readFlie(File file){ List<String> input = new ArrayList<String>(); try{ BufferedReader br = new BufferedReader(new FileReader(file));//構造一個BufferedReader類來讀取檔案 String s = null
; while((s = br.readLine())!=null){//使用readLine方法,一次讀一行 // System.out.println(s); input.add(s); } br.close(); }catch(Exception e){ e.printStackTrace(); } return input; } //處理內容 public static
List<String> dealdata(List<String> inputdata){ List<String> outputdata = new ArrayList<String>(); for(int i=0;i<inputdata.size();i++){ String element=inputdata.get(i); String outElement=null; if(element.contains("char")){ outElement = element.replaceAll("char", ""); outputdata.add(outElement); }else { outputdata.add(element); } } for(int j=0;j<outputdata.size();j++){ String temp = outputdata.get(j); System.out.println(temp); } return outputdata; } //把內容寫入文字檔案中 public static void writercontent(List<String> output,String filepath) throws IOException { File file = new File(filepath); if(!file.exists()){ file.createNewFile(); } FileWriter fileWriter = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fileWriter); for(int i=0;i<output.size();i++){ bw.write(output.get(i).toString()); bw.newLine(); } bw.close(); } public static void main(String[] args) throws IOException { //輸入檔案 File infile = new File("D:\\MyCode\\sqldeal\\inputdata\\input.sql"); List<String> inputdata=new ArrayList<String>(); inputdata=readFlie(infile);//讀取輸入的檔案內容 List<String> onputdata=new ArrayList<String>(); onputdata=dealdata(inputdata);//對內容進行處理 //輸出檔案的路徑 String outputpath="D:\\MyCode\\sqldeal\\outputdata\\output.sql"; writercontent(onputdata,outputpath);//把處理後的內容寫入到檔案 } }

執行程式碼,檢視輸出路徑的檔案內容

成功!!