java如何获取双击打开文件时的默认编码?
发布网友
发布时间:2022-05-17 11:44
我来回答
共1个回答
热心网友
时间:2023-10-20 14:03
这个是获取编码的方式:
private String codetype(byte[] head) {
byte[] codehead = new byte[4];
// 截取数组
System.arraycopy(head, 0, codehead, 0, 4);
String code = "";
if(head[0] == -1 && head[1] == -2) {
code = "UTF-16";
}
else if(head[0] == -2 && head[1] == -1) {
code = "Unicode";
}
else if(head[0] == -17 && head[1] == -69 && head[2] == -65)
code = "UTF-8";
else {
code = "gb2312";
}
return code;
}
这个是转码的常用方式:
String desc=new String(src.getBytes("GBK"),"UTF-8"); //GBK---转UTF-8
其他的类似。
大致思路是这样,读取文件的一部分(4个字节就行)到内存,判断编码,然后用相应的编码打开。
应该会写了吧追问private String codetype(byte[] head) { }
参数head是如何获取的?
右键新建文本文档新建b.txt,通过
InputStream inputStream = new FileInputStream(path);
byte[] head = new byte[300];
inputStream.read(head);
获取的head中,只包含b.txt文件中的内容,没有文件编码的内容。
追答每一个文件在创建的时候,都会有一些信息的,谁然看起来大小是0B,就如同每个文件的结束时候都会有一个结束标识,如 in.read(buffer)!=-1,-1就是文件的结束标识。文件中存的可能不是-1,但是java用-1来表示文件末尾了。
看我才写的这个就知道了。
要是谈很深的文件方面的,我也没法了,你要是学过C的话,或是linux,就能知道编程语言来操作文件了。或是看java的源码,不过都有一个native本地方法,这个是sun已经写好的,与本地相关的。ps:我源码就只能看到这里了。
上传文件失败了。。。。。。。。。。
我给你私信
java 怎么获得文件编码格式
由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下: File file = new File(path); InputStream in= new java.io.FileInputStream(file); byte[] b = new byte[3]; in.read...
Java 如何设置打开文件内容的字符集
IE有一个选项"总是使用UTF-8发送URL",当该选项有效时,IE将会对特殊字符进行UTF-8编码,同时进行URL编码。如果改选项无效,则使用默认编码"GBK",并且不进行URL编码。但是,对于URL后面的参数,则总是不进行编码,相当于UTF-8选项无效。比如"中文.html?a=中文",当UTF-8选项有效时,将发送链接"%e4%b8%ad%e6%96%8...
如何解决java编译时编码问题造
首先,打开Eclipse的首选项窗口,通过点击顶部菜单的"Window",然后选择"Preferences"选项。在打开的窗口中,定位到"General"下的"WorkSpace"选项。在这里,你可以看到当前的工作空间默认编码,将其更改为"GBK",这将确保代码的中文字符被正确处理。如果需要支持其他编码格式,可以选择"Other"选项,从下拉菜单中...
java如何获取正确的字符编码
选中文件右键-->Properties-->Resource-->Text file encoding-->选中Other,然后选择自己想要的编码格式就可以了。如果是修改MyEclipse的编码方式,可以按以下步骤:菜单栏的Window-->Perferences-->General-->Work Space-->Text file encoding-->选中Other,然后选择自己想要的编码格式就可以了。
如何使用Java代码获取文件,文件流或字符串的编码方式
简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK
java有没有那个方法 获取文件保存的编码方式啊?
正常的方法是当你读取一个文件时,应该有人已经告诉了你这个文件是字符集是什么。这个过程应该是人工决定的,比如人们把它写在一个配置文件中,或者约定了整个软件只使用 UTF8 或 GBK 一种编码方式。作为一个通用型的软件推荐使用 UTF8 而不是 GBK,因为当你保存一个人名时你也知道这片神奇的土地上...
怎样用Java读取TXT文本乱码解决方案
默认选择的就是当前文档的编码格式),问题就出现在这里。问题找到了就好解决了,修改代码为:privateString[] getProjectData(File file){ String[] data =null;try{ BufferedReader br =newBufferedReader(newInputStreamReader(newFileInputStream(file),"UTF-16"));String str = br.readLine();data...
...编码?系统中的文件表示的是系统的默认编码?
1、Java中,字符在内存中是用unicode编码的 2、系统中的文件默认是用默认编码编码的。解释一下:对于每个语言/区域,比如中文/中国,中文/台湾,英语/美国,英语/英国,系统都指定一个特定的编码方式,当读取或保存文件时,如果不指定要使用何种编码方式或读取时在文件中找不到编码方式的识别码(姑且这么...
如何看到JAVA文件的编码??
一般都是jar包文件,打开来看时 如果是.java文件你得到的是源文件,直接用你的开发工具打开就好了。如果是.class文件,不太妙,这可是中间码,直接打开是无法看的。只好借助一些反编译工具,如jode,jad等,不过不是所有的class都能成功编译 2.想看看别人编译生成的*.class文件建议你去下载一个JAVA反...
java中编码与解码分别指什么?
Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换成String。在最后一步隐藏了一个编码的细节,new String(byte[]);会使用操作系统默认的字符集来解码字节数组,中文操作...