批量修改文件内容
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();
}
}
/*
*@(#)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();
}
}
相关文章推荐
- 基于命令的批量修改文件内容
- Python批量修改文本文件内容的方法
- 基于命令的批量修改文件内容
- linux下批量修改存有超大数据量IP文件中的IP内容以及去重排序
- perl命令行批量修改文件内容
- 批量修改文件内容
- JAVA批量修改文本文件内容,支持子目录
- 批量修改文件中的内容
- 文件内容批量修改工具
- 基于命令的批量修改文件内容
- linux下批量修改目录下所有文件夹、文件名称及文件内容
- linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)
- 基于命令的批量修改文件内容
- 批量修改文件名称或者文件内容的shell脚本
- UltraEdit批量修改文件内容
- linux下用命令批量修改替换文件内容
- 批量修改文件内容
- 基于命令的批量修改文件内容
- Python批量修改指定目录下的文件名和文件内容
- 批量修改多目录下相同文件名的文件内容