
为了解决此问题,建议用户在java代码中添加对文件格式的处理,同时可以在HTTP的响应头里指定Content-Type来指定文件的类型。
此外,还可以尝试在返回的响应体中添加文件类型相关的信息,以正确地显示指定文件类型。
Java实现获取指定路径下的指定格式的文件代码如下:
package filenameFilter
import java.io.File
/*
* 实现功能:
* 获取指定路径下的指定格式的文件
* */
public class Test {
public static void listPath(File file) {
// 接收筛选过后的文件对象数组
//用文件对象调用listFiles(FilenameFilter filter)方法,
//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File files[] = file.listFiles(new MyFilenameFilter())
/*//遍历出指定文件路径下符合条件的文件
for (File f : files) {
System.out.println(f)
}*/
//遍历出指定文件路径下的所有符合筛选条件的文件
for(File f: files){
if(f.isDirectory()){
listPath(f)
}else{
System.out.println(f)
}
}
}
public static void main(String[] args) {
// 创建指定目录的文件对象
File file = new File("F:\\test")
// 调用文件晒筛选的方法,并将文件对象出入,
listPath(file)
}
}
package filenameFilter
import java.io.File
import java.io.FilenameFilter
//实现FilenameFilter接口,可用于过滤器文件名
//本方法实现的是筛选指定格式结尾的文件
public class MyFilenameFilter implements FilenameFilter {
/**
* @param args
*
* 实现功能 实现FilenameFilter接口,定义出指定的文件筛选器
*
*/
@Override
//重写accept方法,测试指定文件是否应该包含在某一文件列表中
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
// 创建返回值
boolean flag = true
// 定义筛选条件
//endWith(String str)判断是否是以指定格式结尾的
if (name.toLowerCase().endsWith(".jpg")) {
} else if (name.toLowerCase().endsWith(".txt")) {
} else if (name.toLowerCase().endsWith(".gif")) {
} else {
flag = false
}
// 返回定义的返回值
//当返回true时,表示传入的文件满足条件
return flag
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)