java 判断文件类型
发布网友
发布时间:2022-04-22 05:10
我来回答
共4个回答
热心网友
时间:2023-07-11 12:52
如果只是简单的复制、截取等操作,直接使用字节流对文件进行I/O操作就可以了;
一般判断一个文件是否是二进制文件,只是判断一下文件的内容中是否含有0x00-0x07这八个字符内容,如果有的话,就是二进制文件。
热心网友
时间:2023-07-11 12:52
package com.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Ch2 {
private static final String RAGEX="[0x00-0x07]";
public static void main(String[] args) throws IOException {
File file=new File("c:/abc");
File[] files=file.listFiles();
for(int i=0;i<files.length;i++){
System.out.println(files[i].getName()+"\t"+getCheck(files[i]));
}
}
public static boolean getCheck(File f) throws IOException{
BufferedReader br=new BufferedReader(new FileReader(f));
String temp="";
while((temp=br.readLine())!=null){
for(int i=0;i<temp.length();i++){
if((temp.charAt(i)+"").matches(RAGEX)){
return true;
}
}
}
br.close();
return false;
}
}
//c:/abc是文件目录.里面可以随意放几个文件.但不要有文件夹.没做验证.
//根据楼上所说解答.分给楼上就行了,谢谢楼上!
热心网友
时间:2023-07-11 12:53
简单实现如下:
import java.io.*;
/*通常用在从客户到服务端传送的判断
先用getName()获得文件的名字,这个市File的自带方法。然后那名字给一个String对象,用下面的方法得到文件的扩展名。
*/
public class Rename{
public String getTypeName(String s){
String s1=s.substring(s.indexOf(".")+1,s.length());
if(s1.indexOf(".")>=0){
s=s1;
Rename sf=new Rename();
s=sf.getTypeName(s);
}
return s.substring(s.indexOf("."),s.length());
}
}
热心网友
时间:2023-07-11 12:53
一楼正解了
自己动手弄吧