0

我需要在完整的 java 项目中切换源文件的编码。目前它被配置为cp-1252,我需要它是utf-8。.java, .css, .js, .jsp, .jspf, .properties, .you-name-it但是,在记事本或任何非常乏味的东西上都有很多手动操作。有没有一种自动化的方法来做到这一点?我试图从现有的项目中制作一个项目,但没有成功(反正我不是很有希望)。

我需要一些与我手工操作相同的东西:

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

2 回答 2

2

我会使用iconv工具,结合一个简短的 shell 脚本或者一个find调用。存在适用于 Linux 和 Windows 的构建(例如,请参阅此页面上的链接)。可能也适用于其他操作系统。

编辑:另请参阅此相关问题

于 2013-04-15T22:41:14.347 回答
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()方法为找到的每个文件调用它(不过,我会在之前进行备份)。

于 2013-04-15T22:34:13.150 回答