默认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,如开发中确需改变编码格式则可以在此指定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)