解决eclipse中的Java文件,使用idea打开的乱码问题
吐槽:
在克隆一些Github上面资源的时候,使用idea打开,会出现乱码的情况
而使用eclipse打开,这种情况就会消失。「是因为eclipse使用的是GBK编码,idea使用的是utf-8」
这种情况困扰了我好几次,我也试过各种软件再转码,但是没丁儿用!
终于,今天又碰到了;
是可忍,孰不可忍!
于是自己写了一个Java类,专门用来将GBK编码的Java文件,转换成utf-8编码️
ps:改一改,可以讲utf-8,转换成GBK
技术点:递归,IO流
代码
以下是代码,如果是mac操作系统,以下代码应该不会有什么问题;
注意:
1、如果是window系统,文件路径/需要转换成\ (好像是的吧?)
2、强烈建议不要进行二次转换,更不要进行多次转换!!!
3、最好将需要转换的文件夹/文件复制一份,以免出现编码转换的意外
4、没了,以下代码有注释
package com.project_generator.eclipseConvert;
import org.junit.Test;
import java.io.*;
import java.util.List;
/**
* 建议:最好将需要转换的文件夹/文件复制一份,以免出现编码转换的意外
* 注意:不要进行二次转换,还有一定要确定被转换的文件是GBK格式的【一般,如果eclipse的文件放到idea中乱码,多半是GBK格式的】
*/
public class Converter {
// 复制完全一样的文件,包含文件夹里面的所有内容【略--手动处理】
public static void main(String[] args) throws IOException {
new Converter().converter(new File("这里填写自己文件夹or文件的绝对路径"));
}
@Test
public void converter(File file) throws IOException {
convertEclipseFiles(file); // 【必改,文件的路径】
System.out.println("转换成功!");
}
public void convertEclipseFiles(File file) throws IOException {
if (!file.exists()) {
throw new RuntimeException("此文件或文件夹不存在");
}
if (file.isFile() && file.getName().endsWith(".java")) { //【可改,将eclipse里面的Java文件编码改成utf-8】
//!! 重写文件,最后删除原来的文件
String absolutePath = file.getAbsolutePath();
File file1 = new File(absolutePath.substring(0, absolutePath.length() - 5) + "_copy" + ".java");
convertEncoding(file,file1);
file.delete();
file1.renameTo(new File(absolutePath));
}
if (!file.isFile()) {
File[] fs = file.listFiles();// 获取当前文件夹下的子文件夹或者文件的file对象
if (fs != null && fs.length > 0) {
for (File ff : fs) {
convertEclipseFiles(ff);// 递归
}
}
}
}
/*
* 目标:把1.txt内容复制到2.txt
*/
public void convertEncoding(File oldFile, File newFile) throws IOException {
FileInputStream fis = new FileInputStream(oldFile);
FileOutputStream fos = new FileOutputStream(newFile);
byte[] content = new byte[1024];
int read = fis.read(content);
while (read != -1) {
// System.out.println(new String(content, 0, read, "GBK")); // 查看read的结果
fos.write(new String(content, 0, read, "GBK").getBytes("utf-8"));
read = fis.read(content);
}
}
}
解决eclipse中的Java文件,使用idea打开的乱码问题的更多相关文章
- eclipse中关闭java文件后再打开,找不到如何切换可视化编辑器
http://www.iteye.com/problems/64806 两种方式: 第一种正如楼上的老兄说的.在该java类中,鼠标右击,移动到openWith上 找到jigloo,找不到就在ot ...
- 解决Eclipse中编辑xml文件的智能提示问题,最简单的是第二种方法。
Eclipse for Android xml 文件代码自动提示功能,介绍Eclipse 编辑器中实现xml 文件代码自动智能提示功能,解决eclipse 代码提示失效.eclipse 不能自动提示. ...
- [转]解决Eclipse中编辑xml文件的智能提示问题
转自:http://hi.baidu.com/cghroom/item/48fd2d0dc1fc23c675cd3c3e 摘要: Eclipse for Android xml 文件代码自动提示功能 ...
- Windows中的txt文件到Mac打开是乱码 解决办法
在Mac下打开“文本编辑”程序之后,选择菜单“文本编辑” -> “偏好设置”.2)在“偏好设置”中选择第二个标签页“打开和存储”,选择“纯文本文件编码”中的“打开文件”和“存储文件”修改成为“中 ...
- 解决Eclipse中新建jsp文件总是以ISO8859-1编码问题
eclipse --> window -->Preferences-->web-->jsp-->utf-8
- 解决Eclipse中新建jsp文件ISO8859-1 编码问题
看了许多的贴说是在eclipse --> window --> Preferences --> General --> Content Types --> text--& ...
- [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法
eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...
- 解决Eclipse中.properties文件中文乱码问题
在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默 ...
- 解决eclipse中java代码注释变成乱码的问题
Eclipse JAVA文件注释乱码将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码 ...
随机推荐
- C#中将string[] 转成 int[]的几种方法
C#中将string[] 转成 int[]的方式有很多种. 直接遍历转换 这是最简单粗暴的方式.实例代码: 使用LINQ遍历 本质和直接遍历没多大差异,但代码量更少,代码更美观.实例代码: 注意:需要 ...
- BUUCTF-假如给我三天光明
假如给我三天光明 打开压缩包可以看到一个海报,下方有盲文显示,通过对照表得知 盲文翻译为kmdonowg 通过盲文翻译得到的字符串解压压缩包得到一个音频文件 使用Audacity打开,看样子应该是摩斯 ...
- 原生实现.NET5.0+ 自定义日志
一.定义一个静态类 声明一个 ReaderWriterLockSlim 对象 用于并发控制 1 /// <summary> 2 /// IO锁 3 /// </summary> ...
- 记一次排查线上MySQL死锁过程,不能只会curd,还要知道加锁原理
昨晚我正在床上睡得着着的,突然来了一条短信. 啥,线上MySQL死锁了,我赶紧登录线上系统,查看业务日志. 能清楚看到是这条insert语句发生了死锁. MySQL如果检测到两个事务发生了死锁,会回滚 ...
- HDFS数据平衡
一.datanode之间的数据平衡 1.1.介绍 Hadoop 分布式文件系统(Hadoop Distributed FilSystem),简称 HDFS,被设计成适合运行在通用硬件上的分布式文件 ...
- Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析
重现 在 .Net5 平台下,创建一个控制台程序,注意控制台程序的Main()方法如下: static async Task Main(string[] args) 方法的主体非常简单,使用Task. ...
- React技巧之中断map循环
正文从这开始~ 总览 在React中,中断map()循环: 在数组上调用slice()方法,来得到数组的一部分. 在部分数组上调用map()方法. 遍历部分数组. export default fun ...
- 深入浅出理解SVM支持向量机算法
支持向量机是Vapnik等人于1995年首先提出的,它是基于VC维理论和结构风险最小化原则的学习机器.它在解决小样本.非线性和高维模式识别问题中表现出许多特有的优势,并在一定程度上克服了" ...
- 强化学习-学习笔记7 | Sarsa算法原理与推导
Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法.注意,这部分属于 TD算法的延申. 7. Sarsa算法 7.1 推导 TD ta ...
- Ant Design Vue 走马灯实现单页多张图片轮播
最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕 ...