Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8我想讀取文件的時候知道它是用什麼編碼的。然後用
java.io.File f=new java.io.File(filename);
java.io.BufferedInputStream bin=new java.io.BufferedInputStream(new java.io.FileInputStream(f));
byte[] buff=new byte[((int)f.length())];
bin.read(buff,"這裡寫該文件的編碼");//********************怎樣獲得這個文件的編碼呢?謝謝。100分 ̄!
java.io.File f=new java.io.File(filename);
java.io.BufferedInputStream bin=new java.io.BufferedInputStream(new java.io.FileInputStream(f));
byte[] buff=new byte[((int)f.length())];
bin.read(buff,"這裡寫該文件的編碼");//********************怎樣獲得這個文件的編碼呢?謝謝。100分 ̄!
解决方案 »
- 用ANT打JAR包
- java 排序问题
- 求助!java将字符串加密为oracle数据库raw类型!
- 我在书上看到说jvm.dll就是java虚拟机,那么这个虚拟机是作什么用的呢?
- 页面的加了这个上传的enctype="multipart/form-data,怎么取字段的数组值,不能request.getParameterValues(""),急!!!
- 请教运行jar时的classpath问题
- Vector中的数据怎样排序(数据是从数据库取出)
- 删除数组中的元素
- Iterator存放着一些privilege的对象,而这些对象可能重复,怎么解决
- 写树型结构的程序使用awt
- 寻求 Cad 操作帮助
- 关于JTable查询选择的问题,高人请进啊
String code=null;
switch (p)
{
case 0xefbb:
code="UTF-8";
break;
case 0xfffe:
code="Unicode";
break;
case 0xfeff:
code="Unicode big endian";
break;
default:
code="ANSI";
}
一般的文本都是ansi的
是将2个字节转成一个整型
可否解释一下阿,我用utf-8格式存贮文件时,然后使用ue用16进制方式打开,前面两个字节明明显示的是FF FE,为什么用=(bin.read()<<8)+bin.read();读进来的时候却是EF BB呢?怎么想,也想不明白。请指教一下。
你可有其它编辑工具如winhex打开就能见它的真实内码了