Java实现获取指定路径下的指定格式的文件代码如下:
packagefilenameFilter;
importjava.io.File;
/*
*实现功能:
*获取指定路径下的指定格式的文件;
**/
publicclassTest{
publicstaticvoidlistPath(Filefile){
//接收筛选过后的文件对象数组
//用文件对象调用listFiles(FilenameFilterfilter);方法,
//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
Filefiles[]=file.listFiles(newMyFilenameFilter());
/*//遍历出指定文件路径下符合条件的文件
for(Filef:files){
System.out.println(f);
}*/
//遍历出指定文件路径下的所有符合筛选条件的文件
for(Filef:files){
if(f.isDirectory()){
listPath(f);
}else{
System.out.println(f);
}
}}
publicstaticvoidmain(String[]args){
//创建指定目录的文件对象
Filefile=newFile("F:\test");
//调用文件晒筛选的方法,并将文件对象出入,
listPath(file);
}
}
packagefilenameFilter;
importjava.io.File;
importjava.io.FilenameFilter;
//实现FilenameFilter接口,可用于过滤器文件名
//本方法实现的是筛选指定格式结尾的文件
{
/**
*@paramargs
*
*实现功能;实现FilenameFilter接口,定义出指定的文件筛选器
*
*/
@Override
//重写accept方法,测试指定文件是否应该包含在某一文件列表中
publicbooleanaccept(Filedir,Stringname){
//TODOAuto-generatedmethodstub
//创建返回值
booleanflag=true;
//定义筛选条件
//endWith(Stringstr);判断是否是以指定格式结尾的
if(name.toLowerCase().endsWith(".jpg")){
}elseif(name.toLowerCase().endsWith(".txt")){
}elseif(name.toLowerCase().endsWith(".gif")){
}else{
flag=false;
}
//返回定义的返回值
//当返回true时,表示传入的文件满足条件
returnflag;
}
}
B. java 传输 获取文件类型
获取文件类型,一般的是列出目前所有的文件类型,根据表头进行相应判断,示例如下:
/**
*件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。
*头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现(implementation)。
*为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合格式。具体代码如下:
*Java代码:
*
*/
packagecom.yonyou.sud.file;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.HashMap;
/**
*获取和判断文件头信息
*
*@authorSud
*
*/
publicclassGetTypeByHead{
//缓存文件头信息-文件头信息
publicstaticfinalHashMap<String,String>mFileTypes=newHashMap<String,String>();
static{
//images
mFileTypes.put("FFD8FF","jpg");
mFileTypes.put("89504E47","png");
mFileTypes.put("47494638","gif");
mFileTypes.put("49492A00","tif");
mFileTypes.put("424D","bmp");
//
mFileTypes.put("41433130","dwg");//CAD
mFileTypes.put("38425053","psd");
mFileTypes.put("7B5C727466","rtf");//日记本
mFileTypes.put("3C3F786D6C","xml");
mFileTypes.put("68746D6C3E","html");
mFileTypes.put("44656C69766572792D646174653A","eml");//邮件
mFileTypes.put("D0CF11E0","doc");
mFileTypes.put("5374616E64617264204A","mdb");
mFileTypes.put("252150532D41646F6265","ps");
mFileTypes.put("255044462D312E","pdf");
mFileTypes.put("504B0304","docx");
mFileTypes.put("7221","rar");
mFileTypes.put("57415645","wav");
mFileTypes.put("41564920","avi");
mFileTypes.put("2E524D46","rm");
mFileTypes.put("000001BA","mpg");
mFileTypes.put("000001B3","mpg");
mFileTypes.put("6D6F6F76","mov");
mFileTypes.put("3026B2758E66CF11","asf");
mFileTypes.put("4D546864","mid");
mFileTypes.put("1F8B08","gz");
}
/**
*根据文件路径获取文件头信息
*
*@paramfilePath
*文件路径
*@return文件头信息
*/
publicstaticStringgetFileType(StringfilePath){
System.out.println(getFileHeader(filePath));
System.out.println(mFileTypes.get(getFileHeader(filePath)));
returnmFileTypes.get(getFileHeader(filePath));
}
/**
*根据文件路径获取文件头信息
*
*@paramfilePath
*文件路径
*@return文件头信息
*/
(StringfilePath){
FileInputStreamis=null;
Stringvalue=null;
try{
is=newFileInputStream(filePath);
byte[]b=newbyte[4];
/*intread()从此输入流中读取一个数据字节。
*intread(byte[]b)从此输入流中将最多b.length个字节的数据读入一个byte数组中。
*intread(byte[]b,intoff,intlen)从此输入流中将最多len个字节的数据读入一个byte数组中。
*/
is.read(b,0,b.length);
value=bytesToHexString(b);
}catch(Exceptione){
}finally{
if(null!=is){
try{
is.close();
}catch(IOExceptione){
}
}
}
returnvalue;
}
/**
*将要读取文件头信息的文件的byte数组转换成string类型表示
*
*@paramsrc
*要读取文件头信息的文件的byte数组
*@return文件头信息
*/
(byte[]src){
StringBuilderbuilder=newStringBuilder();
if(src==null||src.length<=0){
returnnull;
}
Stringhv;
for(inti=0;i<src.length;i++){
//以十六进制(基数16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写
hv=Integer.toHexString(src[i]&0xFF).toUpperCase();
if(hv.length()<2){
builder.append(0);
}
builder.append(hv);
}
System.out.println(builder.toString());
returnbuilder.toString();
}
publicstaticvoidmain(String[]args)throwsException{
finalStringfileType=getFileType("E:/Java编程思想读书笔记.docx");
System.out.println(fileType);
}
}
C. 怎么获取文件后缀名是.java文件
选取文件的时候加个文件名过滤器即可。类似如下:
File
file
=
new
File("D:\\mm");
File[]
files
=
file.listFiles(new
FilenameFilter()
{
public
boolean
accept(File
file,
String
fileName)
{
if(fileName.endsWith(".java")){
return
true;
}
return
false;
}
});
这就是获取D:mm目录下的.java文件
D. java怎么获取上传文件的后缀
给你个示例,应该看得懂吧
File f =new File("Test.txt");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}
E. javafile怎样获取到file文件名的后缀
演示:
File f =new File("Test.txt");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}
JAVA一般存在两种文件格式,如下:
1.*.java文件是保存源代码的文本文件 (*代表类名)
使用 javac *.java可以编译该文件
使用 java *可以运行该类
2.*.class是用于保存 Java类的 二进制编码以及Class对象,每一个 Java类都有一个解释该类特征的 Class对象。*.jar文件 是一种压缩文件格式
F. 求助java高手啊::::JAVA如何在一文件夹内根据后缀名搜索
实现一个接口就可以了
import java.io.File;
import java.io.FileFilter;
public class Test1 {
public static void main(String[] args) {
File file = new File("D:\\Applk\\AndroidAppBook\\");
File[] ary = file.listFiles(new TxtFilter());
for (File fl : ary) {
System.out.println(fl.getName());
}
}
}
class TxtFilter implements FileFilter {
public boolean accept(File file) {
if (file.isFile()) {
String fileName = file.getName();
if (fileName.endsWith(".txt")) {
return true;
}
}
return false;
}
}
G. java中怎么获取所有后缀为.xlsx的路径
File file = new File("文件夹路径");
File[] xlsxList = file.listFiles((dir, name)->name.endsWith(".xlsx"));
H. jsp或者JAVA如何获取文件的后缀名字吗
public String getFileType(String fileUri){
File file = new File(fileUri);
String fineName = file.getName();
String fileType = fileName.substring(fileName.lastIndexOf(\".\")+1,fileName.length())
return fileType;
}
I. javafile怎样获取到file文件名的后缀
给你个示例,应该看得懂吧
File f =new File("Test.txt");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}