您的位置:首页 > 编程语言 > Java开发

批量修改文件内容

2015-04-18 21:23 288 查看
下代码为批量修改某文件夹下的文件,实现修改批量文件

/*
*@(#)UpdateAllFile.java 2015年4月18日
*
*Copyright 2015 ChengJunbo,All rights reserved.
*/
package com.test.file;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
*批量修改文件內容
*@author
*@date 2015年4月18日
*/
public class UpdateAllFile {

/**
* @param args
*/
public static void main(String[] args) {
try{
List<File> list=getAllFiles("E:\\tmp\\temp");
for(File file:list){
updateFile(file);
System.out.println("______________________________________");
}
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 获取路径下的所有文件list方法
* @param dir
* @return
*/
public static List<File> getAllFile(String dir){
List<File> list=new ArrayList<File>();
File filedir=new File(dir);
if(filedir.isDirectory()){
String[] dirArr=filedir.list();
for(String str:dirArr){
File file=new File(str);
list.add(file);
}
}else{
list.add(filedir);
}

return list;
}
/**
* 获取路径下的所有文件listFile方法
* @param dir
* @return
*/
public static List<File> getAllFiles(String dir){
List<File> list=new ArrayList<File>();
File filedir=new File(dir);
if(filedir.isDirectory()){
File[] fileArr=filedir.listFiles();
for(File str:fileArr){
list.add(str);
}
}else{
list.add(filedir);
}

return list;
}
/**
* 修改文件内容
* @param file
* @throws Exception
*/
public static void updateFile(File file) throws Exception{
SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
String dir=file.getParent()+"_"+format.format(new Date());
String name=file.getName();
System.out.println(dir+"\\"+name);

File newDir=new File(dir);
if(!newDir.exists()){
newDir.mkdir();
}
File newFile=new File(dir,name);
FileReader fr=new FileReader(file);

BufferedReader br=new BufferedReader(fr);
BufferedWriter bw=new BufferedWriter(new FileWriter(newFile));
String tmp="";
while(null!=(tmp=br.readLine())){
String temp="";
System.out.println("【old file content】" + tmp);
if (tmp.startsWith("import")) {
temp=tmp.replaceAll("java", "java.cjb");
System.out.println("【new file content】" + temp);
}else{
temp=tmp;
}
bw.write(temp);
bw.newLine();
}
br.close();
bw.close();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息