java实现GBK与UTF8的相互转换

博主分享了在Eclipse开发时遇到的中文注释乱码问题,通过学习GBK与UTF-8的转换解决。提供了一段GBK转UTF-8的代码,并尝试修改为UTF-8转GBK,使用了Apache Commons IO的FileUtils进行文件读写操作。在转换过程中,对源码目录中的所有.java文件进行了遍历和编码转换。
部署运行你感兴趣的模型镜像

项目场景:

今天在用eclipse写课设的时候,出现了中文注释乱码的问题。为了解决这个问题,稍微学了一下GBK于UTF8的相互转换的问题。


问题描述:

在优快云上看到一位博主将GBK转化成UTF8,然而我的任务是将UTF8转化为GBK。于是仿照他的代码写了一段。
这位博主的代码如下(GBK转UTF8):

		//GBK编码格式源码路径
		String srcDirPath = "D:\\dev\\workspace\\masdev\\mas\\src";
		//转为UTF-8编码格式源码路径
		String utf8DirPath = "D:\\UTF8\\src";
		       
		//获取所有java文件
		Collection<File> javaGbkFileCol =  FileUtils.listFiles(new File(srcDirPath), new String[]{"java"}, true);
		       
		for (File javaGbkFile : javaGbkFileCol) {
		      //UTF8格式文件路径
		      String utf8FilePath = utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
		       //使用GBK读取数据,然后用UTF-8写入数据
		      FileUtils.writeLines(new File(utf8FilePath), "UTF-8", FileUtils.readLines(javaGbkFile, "GBK"));       
		

这是我的代码(UTF8转GBK)

//utf8编码格式源码路径
		String srcDirPath1 = "C:\\Users\\Lenovo\\Desktop\\UTF8备份\\OS_Simulation_job_management_and_virtual_memory_management\\src";
		//转为gbk编码格式源码路径
		String utf8DirPath1 = "D:\\ASM\\123";
				       
		//获取所有java文件
		Collection<File> javaGbkFileCol1 =  FileUtils.listFiles(new File(srcDirPath1), new String[]{"java"}, true);
				       
		for (File javaGbkFile : javaGbkFileCol1) {
			//gbk格式文件路径
			String utf8FilePath = utf8DirPath1+javaGbkFile.getAbsolutePath().substring(srcDirPath1.length());
			//使用utf8读取数据,然后用gbk写入数据
			try {
				FileUtils.writeLines(new File(utf8FilePath), "GBK", FileUtils.readLines(javaGbkFile, "UTF-8"));
				} catch (IOException e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
				}       
			}

其中,FileUtils需要导入库commons-io-2.6.jar,下载和使用教程在网上可以搜到,非常简单。
在这里插入图片描述


您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值