Eclipe批量更新文件的编码类型

来源:互联网 发布:windows 系统修复 编辑:程序博客网 时间:2024/04/27 11:48

本文转载java_2000.net 在此对作者表示感谢!

怎样用eclipse把文件编码批量转换?包括JS,JSP,HTML 我说的不是页面本身的,而是 在ECLIPSE中,右键点击文件,选择属性,然后在右边的列表中选择 的这种,但这样只能一个一个的改,怎么能批量????? 呵呵!我平时也是一个个的改的! 刚才看了一下eclipse 的配置文件,找到如下方法,不过还是手工的哦!
在eclipse项目下有这么一个文件夹 .settings 下面有一个 org.eclipse.core.resources.prefs 文件 里面有类似这样的编码配置 INIFile code
#Wed Dec 26 12:59:37 CST 2007eclipse.preferences.version=1encoding//test/BlackVSWhite.java=UTF-8
如果这里有的文件,替换成你要的编码就可以了。 如果没有? 你用任何办法,比如 dir /s > 1.txt , DOS 命令 拿到你要改的文件名列表,然后.... 自己弄吧,尽量多使用替换 我想,如果你要改的文件超过100个,这个方法应该快些,否则可能不如手工快! 我一会弄一个小程序,自动生成那个encoding// 部分看看,弄好了我再贴上来

package zhj.Usual_Test;

import java.io.File;
import java.io.IOException;

public class ReadFile {
    
public static void main(String[] args) throws IOException{
        read(
"e:/workplace/test""UTF-8");
}


    
private static final String[] extentions = "java""js""html""htm" };

    
public static void read(String filepath, String charset) throws IOException {
        File f 
= new File(filepath);// 定义文件路径
        String path;
        
if (f.exists() && f.isDirectory()) {// 判断是文件还是目录
            if (f.listFiles().length == 0{// 若目录下没有文件则直接删除
                return;
            }
 else {// 若有则把文件放进数组,并判断是否有下级目录
                File delFile[] = f.listFiles();
                
int i = f.listFiles().length;
                
for (int j = 0; j < i; j++{
                    path 
= delFile[j].getAbsolutePath();
                    
if (delFile[j].isDirectory()) {
                        read(path, charset);
// 递归调用del方法并取得子目录路径
                    }

                    
for (String ext : extentions) {
                        
if (path.endsWith(ext)) {
                            System.out.println(
"encoding//" 
                                    
+ path.replaceAll("/""/"+ "=" + charset);
                            
break;
                        }

                    }

                }

            }

        }

    }

}