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

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

  默认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"))        

}

该方法是这样一种方法java.io.DataOutput中的接口。点击看详细下面是一个参考JDK1.5:点击看详细java.io

接口DataOutput中

中国所有已知子接口:

的ImageOutputStream,

的ObjectOutput

中国所有已知实现类:

DataOutputStream正好,FileCacheImageOutputStream,FileImageOutputStream,ImageOutputStreamImpl,MemoryCacheImageOutputStream,ObjectOutputStream中,RandomAccessFile的 BR>

中国公共接口DataOutput中点击看详细的DataOutput接口,任何Java原始类型到一系列的字节,写这些字节转换为二进制流。它也提供了一个串将被转换成UTF-8格式的版本,并写入所得到的系列工具字节。说明

中国

看writeInt()方法:粗首闹点击看详细writeIntvoid writeInt(int v)按抛出IOException异常,点击看详细

1写入到输出流int值,它由4个字节。要写入的字节值(按顺序)为:

(字节)(0xFF的&(V >>24))

中国(字节)(0xFF的& (V >>16))

中国(字节)(0xFF的&(V >>8)),点击看详细

(字节)(0xFF的&V)的

字节写这个方法可以读取的readInt方法DataInput中的接口,则该方法返回一个int值,等于V的。

中国

中国参数:

V - int值写入。点击看详细上面的描述中,此方法被用于一个4字节整数数据转换成一个字节,然后写入到二进制流。如果你写一个文件,那么该文件是一个二进制文件,而不是文本文件。

中国

在使用时,如果你使用writeInt()这样的方法(writeDouble,writeFloat等),然后读取时间,则必须使用该接口实现DataInput中读取输入流。还要写的顺序读取:示例:

中国com.test包点击看详细进口java.io.BufferedInputStream中

进口java.io.BufferedOutputStream

进口java.io.ByteArrayInputStream中

进口java.io.ByteArrayOutputStream中

进口java.io.DataInput中的

进口java.io.DataInputStream中

进口java.io.DataOutput中

进口java.io.DataOutputStream中点击看详细公共类的数据流中{

公共静态无效的主要(字串[] args)岩罩{

尝试{//

这里是输出,这里是输出到存储

ByteArrayOutputStream BOS =新ByteArrayOutputStream()

DataOutputStream的DOS =新DataOutputStream的(新的BufferedOutputStream(BOS))

dos.writeInt(22)

dos.writeDouble(33.33)

dos.writeLong(33升)

dos.writeBoolean(真正的)

dos.writeChar('A')

dos.writeByte(33)

dos.writeFloat(44.4f)

dos.flush()

//这里是从内存中输入在这里,只需输入

的DataInputStream解散=新的DataInputStream(新芹晌的BufferedInputStream为(新ByteArrayInputStream的(bos.toByteArray())))

的System.out.println(dis.readInt())

的System.out.println(dis.readDouble())

的System.out.println(dis.readLong())

的System.out.println(dis.readBoolean())

的System.out.println(dis.readChar())

系统。通过out.println(dis.readByte())

的System.out.println(dis.readFloat())

dis.close()

bos.close()

}赶上(例外五){

}

}点击看详细}

中国 BR>

上述程序最后的打印语句,可以更改顺序,结果应该是因为你不写的一样,那就是,造成读取错误,因为一些想读,写的顺序相同。

1、你要将所有的培碰码文件的编码都设置成UTF-8,还有,你的MyEclipse或者Eclipse应该配置jsp还有java文件还有项目都设置为UTF-8.

2、eclipse 中使用模板新建 JSP,xhtml等 文件时,默认的编码为:ISO-8859-1。 ISO-8859-1 编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK 或者 GB2312 或者 UTF-8(推荐) 等。右键菜单栏window -->preferences -->在type filter text中输入jsp--> 选择下面的jsp ->选择creating files组中的encoding 为UTF-8编码就可以了

如果要使新建立工程、java文件直接使UTF-8则需要做以下工作: 

1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对吵孙话框中的Text file encoding即为UTF-8。

2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编配哪码为UTF-8。其他java应用开发相关的文件 如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12238204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存