解决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编码 ...
随机推荐
- 竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码
ArrayList是我们开发中最常用到的集合,但是很多人对它的源码并不了解,导致面试时,面试官问的稍微深入的问题,就无法作答,今天我们一起来探究一下ArrayList源码. 1. 简介 ArrayLi ...
- Java开发学习(三)----Bean基础配置及其作用范围
一.bean基础配置 对于bean的基础配置如下 <bean id="" class=""/> 其中,bean标签的功能.使用方式以及id和clas ...
- C语言 - 基础数据结构和算法 - 企业链表
听黑马程序员教程<基础数据结构和算法 (C版本)>,照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友可 ...
- JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过
各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...
- 5. `sklearn`下的线性回归
本文以线性回归为例,介绍使用sklearn进行机器学习的一般过程. 首先生成模拟数据 import numpy as np def get_data(theta_true,N): X=np.rando ...
- 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践
本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...
- 详解HashMap源码解析(上)
jdk版本:1.8 数据结构: HashMap的底层主要基于数组+链表/红黑树实现,数组优点就是查询块,HashMap通过计算hash码获取到数组的下标来查询数据.同样也可以通过hash码得到数组下标 ...
- -bash: nignx: 未找到命令
nignx -t 如果报错: 因为没有配置环境变量吧,把nginx路径 配置到环境变量里面就可以. 按照配置: 1:进入 vim /etc/profile 文件 在配置文件的最后面添加PATH(PAT ...
- NOI / 2.1基本算法之枚举-8760:Cantor表
总时间限制: 1000ms 内存限制: 65536kB 描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 我们以Z字形给上表的每一项编 ...
- ACWing94.递归实现指数型枚举
https://www.acwing.com/problem/content/description/94/ 题面 \92. 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有 ...