//替换文本
public class ItemFileReplace {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("D:\\work\\democratic\\wintest-web");
meth3(f);
}
/**
* 遍历删除文件夹
* @param file
*/
private static void deleteFile(File file) {
if (file.exists()) {//判断文件是否存在
if (file.isFile()) {//判断是否是文件
file.delete();//删除文件
} else if (file.isDirectory()) {//否则如果它是一个目录
File[] files = file.listFiles();//声明目录下所有的文件 files[];
for (int i = 0;i < files.length;i ++) {//遍历目录下所有的文件
deleteFile(files[i]);//把每个文件用这个方法进行迭代
}
if(files.length == 0){
file.delete();//删除空文件夹
}
}
} else {
System.out.println("所删除的文件不存在");
}
}
//
private static void meth3(File f) {
// 方法:3:利用文件构造器
File[] file =f.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
String fileName = pathname.getName().toLowerCase();
if(fileName.endsWith(".wxss")){
return true;
}else if(fileName.endsWith(".wxml")){
return true;
}else if(pathname.isDirectory()){
meth3(pathname);
}
return false;
}
});
for (File t:file) {
//没找到则不处理
boolean isEdit = false;
try{
BufferedReader in = new BufferedReader(new FileReader(t));
String outPath = t.getPath().replace("D:","E:").replace("\\","\\\\");
File filewriter = new File(outPath);
if(!filewriter.exists()){
filewriter.getParentFile().mkdirs();
}
filewriter.createNewFile();
// write
FileWriter fw = new FileWriter(filewriter);
BufferedWriter out =new BufferedWriter(fw);
String s = null;
while((s= in.readLine()) != null){
boolean isPrint = true;
Pattern p = Pattern.compile("(\\d*|\\d*(\\.\\d*))px");//正则表达式,取=和|之间的字符串,不包括=和|
Matcher m = p.matcher(s);
while(m.find()) {
//第一步进来打印
if(isPrint){
System.out.println(s);
}
isPrint =false;
String px = m.group(0).replace("px","");
if(!px.equals("")){
isEdit = true;
Double iPx = Double.parseDouble(px);
String rpx= "1";
//为1不处理
if(iPx!=1 && iPx != 2){
BigDecimal bPx = new BigDecimal(iPx);
BigDecimal company = new BigDecimal(2.34);
iPx = bPx.multiply(company).doubleValue();
DecimalFormat decimalFormat = new DecimalFormat("0.##");
String sD = decimalFormat.format(iPx);
rpx = sD;
}
s = s.replace(px+"px",rpx+"rpx");
System.out.println("px="+px+" "+"rpx="+ rpx);//m.group(1)不包括这两个字符
}
}
out.write(s);
out.newLine();
}
//没找到则不处理
if(isEdit){
out.flush();
}else{
out.close();
filewriter.delete();
//deleteFile(filewriter.getParentFile());
}
in.close();
out.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}