我需要在完整的 java 项目中切换源文件的编码。目前它被配置为cp-1252,我需要它是utf-8。.java, .css, .js, .jsp, .jspf, .properties, .you-name-it
但是,在记事本或任何非常乏味的东西上都有很多手动操作。有没有一种自动化的方法来做到这一点?我试图从现有的项目中制作一个项目,但没有成功(反正我不是很有希望)。
我需要一些与我手工操作相同的东西:
- 在文本编辑器中打开文件
- “另存为”——更改编码属性
- 重复
在 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()方法为找到的每个文件调用它(不过,我会在之前进行备份)。