java 判断是二进制文件还是文本文件

java 判断是二进制文件还是文本文件,第1张

判断是否存在控制字符:这个也靠谱,但是难度比较大,因为有些Unicode文件开头放了控制字符,所以必须处理这种特殊情况。(我记得有些编辑器就是这样判断文件是否为二进制的)

这些答案都算靠谱,也有不靠谱的。居然有人回答:文本终究也是二进制的,所以你没办法判断!NND,这就好像说:Women 本质上就是 Men(人),所以你没法判断 Women 和 Men (男人)

言归正传局谨,除了以上的三种方法外,如果要求不是那么严格,可以用文件的mime type来进行判断,以下的Groovy代码虽然不太直行腊圆观,但是胜在短小:

在Java下道理是一样的,先获得URL对象,然后打开连接,获取内容档塌类型……只不过多写几行罢了。

如果只是简单芹祥银的复制、截取等 *** 作,直接使用字节流对文件进行I/O *** 作就可以了;

一般判断一个文件是否是二进制文件,只是判断一下宴稿文件的内容中是否含嫌宴有0x00-0x07这八个字符内容,如果有的话,就是二进制文件。

一、二进制的表示方法

有0,1组成。以0b开头。

代码的表示兆物方法:

System.out.println(0b100)

二、不同进制的数据表现:

八进制:由0,1,....,7.以0开头。

十进制:由0,1......,9.默认整数。

十六进制:悔颤由0,碧猜败1,......9,a,b,c,d,e,f(大小写均可)组成。

十进制:System.out.println(100)

八进制:System.out.println(0100)

十六进制: System.out.println(0x100)

扩展资料

java 判断二进制文件的代码:

public static boolean isBinary(File file)

{

boolean isBinary = false

try {

FileInputStream fin = new FileInputStream(file)

long len = file.length()

for (int j = 0j <(int) lenj++) {

int t = fin.read()

if (t <32 &&t != 9 &&t != 10 &&t != 13) {

isBinary = true

break

}

}

} catch (Exception e) {

e.printStackTrace()

}

return isBinary

}

参考资料:百度百科 二进制


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12245095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存