天天看點

java中替換檔案内容

package jbit.io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class ReaderAndWriterFile {

public void replaceFile(String file1,String file2) {   
BufferedReader reader = null;
BufferedWriter writer = null;
try {
//建立 FileReader對象和FileWriter對象.
FileReader fr  = new FileReader(file1);  
FileWriter fw = new FileWriter(file2);
//建立 輸入、輸入出流對象.
reader = new BufferedReader(fr);
writer = new BufferedWriter(fw);
String line = null;
StringBuffer sbf=new StringBuffer();  
//循環讀取并追加字元
while ((line = reader.readLine()) != null) {
sbf.append(line);  
            }
System.out.println("替換前:"+sbf);
/*替換内容*/
String newString=sbf.toString().replace("{name}", "歐歐");
newString = newString.replace("{type}", "狗狗");
newString = newString.replace("{master}", "李偉");
System.out.println("替換後:"+newString);
writer.write(newString);  //寫入檔案       
        } catch (IOException e) {
e.printStackTrace();
        }finally{
//關閉 reader 和 writer.
try {
if(reader!=null)
reader.close();
if(writer!=null)
writer.close();
      } catch (IOException e) {
e.printStackTrace();
      }
    }
  }
public static void main(String[] args) {
ReaderAndWriterFile obj = new ReaderAndWriterFile();
obj.replaceFile("c:\\pet.template", "D:\\myDoc\\pet.txt");          
  }
}