[java] view plaincopy
File file = new File(path)
InputStream in= new java.io.FileInputStream(file)
byte[] b = new byte[3]
in.read(b)
in.close()
if (b[0] == -17 &&b[1] == -69 &&b[2] == -65)
System.out.println(file.getName() + ":编码为UTF-8")
else
System.out.println(file.getName() + ":可能是GBK,也可能是其他编码")
java中byte是字节型。
java byte作为最小的数字来处理的,因此它的值域被定义为-128~127,byte的用作计数的时间远少于用表达基本内存单元的时间。
比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内。
扩展资料:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。
参考资料来源:百度百科-Java