目標:讀取JavaBean文件,在每一個字段上增加@XmlElement注解
package com.example.readAndWriteFile; import java.io.*; public class readAndWriteTest { public static void main(String[] args) { //讀取路徑 String readPath = "C:\\Users\\Administrator\\Desktop\\Model\\ModelList\\Unit.java"; //寫入路徑 String writePath ="C:\\Users\\Administrator\\Desktop\\Model\\ModelNew\\Unit.java"; File file = new File(readPath); try{ //構造一個BufferedReader類來讀取文件 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); //構造一個BufferedWriter類來寫入文件 FileWriter vFileWriter = new FileWriter(writePath); BufferedWriter vBufferedWriter = new BufferedWriter(vFileWriter); String s = null; //正則替換 String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、? ]"; while((s = br.readLine())!=null){//使用readLine方法,一次讀一行 //先逐行寫入 vBufferedWriter.write(s); vBufferedWriter.newLine(); //判斷切入點 獲取@XmlElement注解的name屬性值 if(s.contains("/**")){ //取出name值 String news = s.replaceAll(regEx,""); if (news !=""){ String Targets = "\t@XmlElement(name =\""+news+ "\")"; vBufferedWriter.write(Targets); vBufferedWriter.newLine(); } } } br.close(); vBufferedWriter.close(); }catch(Exception e){ e.printStackTrace(); } } }