java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档相关的知识,希望对你有一定的参考价值。

如题,有两个文件
“d:/a.txt”,是utf-8编码;
"d:/c.txt"是目的文件,要求将a的内容存到c内,而要求c的编码为gbk
求代码,如果可用必加分,多谢了!!!!

    默认Java转换GBK格式的可以通过提供的转换类来实现,示例如下:

如果直接把Java源代码复制到Eclipse中所有的中文信息都出现乱码。将文本文件的编码格式从GBK转UTF-8的方式有很多,
比较早以前我处理方式都是自己写程序,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用 Apache Common 组件,用commons-io.jar实现文件的
读取和写入,代码如下:
//GBK编码格式源码路径 
String srcDirPath = "D:\\\\dev\\\\workspace\\\\masdev\\\\mas\\\\src"; 
//转为UTF-8编码格式源码路径 
String utf8DirPath = "D:\\\\UTF8\\\\src"; 
        
//获取所有java文件 
Collection 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"));        
参考技术A import java.io.*;

public class Test

public static void main(String[] args)
try

FileInputStream fis = new FileInputStream("D:/A.txt");
InputStreamReader isr = new InputStreamReader(fis);
FileOutputStream fos = new FileOutputStream("D:/C.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"GB2312");
int s;
while((s = isr.read()) != -1)
osw.write(s);
//System.out.println(s);

osw.flush();
osw.close();
isr.close();
System.out.println("写入完成!");

catch (IOException e)

e.printStackTrace();




小菜写的,不知道可不可以,呵呵本回答被提问者采纳
参考技术B import java.io.*;

public class IoClass
public static void main(String[] args) throws IOException
String path = "d:/test.txt";
File f = new File(path);
FileInputStream s = new FileInputStream(f);
FileOutputStream os = new FileOutputStream(new File("D:/test1.txt"));
BufferedReader in = new BufferedReader(new InputStreamReader(s, "gbk"));

int count = 0;

while ((count = in.read()) != -1)
os.write(count);


怎么将java代码的编码方式设置为gb2312

参考技术A 将文件打开。另存为,然后下面会出现一个编码格式,自己选择GB2312即可,不过记事本方式是没gb2312的,找个EditPlus或者其他的文本工具,里面就有GB2312
可以选择,或者在myeclipse里面右键文件,点最底下的选择进去也有一个更换格式的,不过更换了中文会乱码得重新写

以上是关于java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档的主要内容,如果未能解决你的问题,请参考以下文章

java怎么把utf-8的字符串转换为gb2312格式

如何使用Java代码将GBK编码格式的工程转换为UTF-8编码格式的工程

java怎么把utf-8的字符串转换为gb2312格式

C# XML 字符串编码问题

java 怎么判断文本内容的编码格式

Windows系统下Eclipse下默认的编码格式是啥?GBK?已有的工程文件转换为UTF-8之后为何不能正确读取?