是否有自动方式来更改项目源文件的编码?

时间:2013-04-15 19:48:19

标签: jsp encoding

我需要在完整的java项目中切换源文件的编码。目前它被配置为cp-1252,我需要它是utf-8。然而,有很多.java, .css, .js, .jsp, .jspf, .properties, .you-name-it并且手写这个记事本或任何非常繁琐的事情。有没有自动化的方法来做到这一点?我尝试用现有的项目制作一个项目,但它没有用(不管我还是很有希望)。

我需要的东西与我手工做的一样:

  • 在文本编辑器中打开文件
  • “另存为” - 更改编码属性
  • 重复

2 个答案:

答案 0 :(得分:2)

我会使用iconv工具,结合短shell脚本或find调用。 Linux和Windows存在构建(例如,参见this page上的链接)。也可能适用于其他操作系统。

修改:另请参阅this related question

答案 1 :(得分:1)

在java中,您可以将以cp-1252编码的文件内容放入字符串中:

FileInputStream inputStream = new FileInputStream(file);
String text = new Scanner(inputStream, "cp-1252").useDelimiter("\\A").next();
inputStream.close();

然后您可以将字符串text写入使用utf-8编码的文件:

FileOutputStream outputStream = new FileOutputStream(file);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream,  "utf-8");
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
bufferedWriter.append(text);
bufferedWriter.close();

要自动执行该过程,您可以从上面的代码创建一个方法,并使用java File.listFiles()方法为每个找到的文件调用它(我之前会做一个备份)。

相关问题