易截截图软件、单文件、免安装、纯绿色、仅160KB

利用java判断文件的编码方法

在程序中,文本文件经常用来存储标准的ASCII码文本,比如英文、加减乘除等号这些运算符号。文本文件也可能用于存储一些其他非ASCII字符,如基于
GBK的简体中文,基于BIG5的繁体中文等等。在存储这些字符时需要正确指定文件的编码格式;而在读取这些文本文件时,有时候就需要自动判定文件的编码
格式。
按照给定的字符集存储文本文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字
节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判
定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。
对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:
测试文件编码是否为UTF-8
File file = new File(path);
InputStream is = new FileInputStream(file);
byte[] b = new byte[3];
is.read(b);
is.close();
if (b[0] == -17 && b[1] == -69 && b[2] == -65)
System.out.println(file.getName() + ":编码为UTF-8");
else
System.out.println(file.getName() + "其他编码"); 
转自:http://yalong9527.javaeye.com/blog/553164
自己有一点点改动。


相关文档:

JAVA实现的魔方

未完成 待完善
public class MagicCube {
/**
* 六个面的下标值
* □5
* □□□□ 1234 这四个连体正方形向后顺时针包围 形成筒状 然后 把5和6扣上 就形成正方体
* □6
*/
public static void main(String[] args) {
MagicCube mb = new MagicCube();
int i = 0;
for (Face f : mb.faces ......

JAVA 常用技巧


1.拆分字符串
遇到特殊字符,比如:对‘$’符号,就应该使用‘\\$’,后总结可以加个方括号如 "[.]"。
2.遍历HASHMAP
Iterator itr = map.keySet().itrator();
while(itr.hasNext())
{
    Object temp1 = itr.next();
    Object temp2 = tab.get(temp1);
} ......

JNI(Java Native Interface)


JNI是Java Native Interface的缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
      使用java ......

java范型学习

java的范型机制看起来有点像C++的模版,但相比较C++的模版类,java中的范型没有关键字template,并且有着不同的实现机制(本质区别)。
范型类
    先看一个范型类的例子:
public class Demo1<T> {
   private T value;
   public  Demo1(T value)  {
 &n ......

java 线程池

    许多时候我们需要用到线程 比如希望一个附加的功能 不要影响整个流程的功能,比如某个流程需要加入日志,但是不希望记录日志的功能影响整个流程的性能,不能因为记录日志把整个流程给卡住了。在这个种情况下,我们需要使用线程。让记录日志在单独一个线程里面跑,就不会影响都其他流程了。
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号