当前位置: 首页 > news >正文

java取文件类型_java如何通过文件描述符获取文件类型

java如何通过文件描述符获取文件类型

关注:202  答案:1  mip版

解决时间 2021-01-15 13:45

e6cb1a03ad541b3098697807b7bf1798.png

提问者侢遇噹姩揂

2021-01-15 07:00

java如何通过文件描述符获取文件类型

或者过去文件名,路径

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家绿小萝

2021-01-15 07:10

主要以下几种方法:

这个MimetypesFileMap类会映射出一个file的Mime Type,这些Mime Type类型是在activation.jar包里面的资源文件中定义的

import javax.activation.MimetypesFileTypeMap;

import java.io.File;

class GetMimeType {

public static void main(String args[]) {

File f = new File("test.gif");

System.out.println("Mime Type of " + f.getName() + " is " +

new MimetypesFileTypeMap().getContentType(f));

// expected output :

// "Mime Type of test.gif is image/gif"

}

}

使用 java.net.URL

警告:这个方法非常慢

与上面所说的匹配后缀名类似。后缀名和mime-type的映射关系被定义在[jre_home]\lib\content-types.properties这个文件中

import java.net.*;

public class FileUtils{

public static String getMimeType(String fileUrl)

throws java.io.IOException, MalformedURLException

{

String type = null;

URL u = new URL(fileUrl);

URLConnection uc = null;

uc = u.openConnection();

type = uc.getContentType();

return type;

}

public static void main(String args[]) throws Exception {

System.out.println(FileUtils.getMimeType("file://c:/temp/test.TXT"));

// output : text/plain

}

}

还有一种方式:就是取文件名最后一个“.”后的内容,通过人来判断如

String fileName = "aaa.txt";

String fileType =“txt”//通过方法取出方法类型为

String type = "";

if( fileTyep.equals("txt")){

type = "记事本";

}else if(fileTyep.equals("img")){

type = "img图片";

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

相关文章:

  • java pdb_当12C PDB遇上JDBC
  • java复选框添加选中事件_Java的JTable中添加JCheckBox,点击事件处理问题,求高手指点迷津...
  • java thread类是抽象类_抽象类详解
  • 摘要认证 java_摘要认证及实现HTTP digest authentication
  • ssdp java_SSDP 简单服务发现协议
  • suse tomcat mysql_suse 安装jdk和tomcat工作记录
  • javascript java 语法_JavaScript
  • java.lang.nullpointerexception:group_为什么会出现java.lang.nullpointerexception错误
  • java数组查找指定元素_Java在数组中查找指定元素的方法
  • k8s mysql volume_k8s实践(七):存储卷和数据持久化(Volumes and Persistent Storage)
  • java 能够完成多个http请求并回应_Java Web请求与响应实例详解
  • mysql 交叉查询_MySQL连接查询,内连接,外连接,全连接,交叉连接
  • java中 springurl_基于SpringMVC中的路径参数和URL参数实例
  • java句子倒序_Java实现英文句子中的单词顺序逆序输出的方法
  • JAVA边学边练答案_Struts2边学边练(1)-HelloWorld
  • Google 是如何开发 Web 框架的
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【翻译】babel对TC39装饰器草案的实现
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • go append函数以及写入
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Travix是如何部署应用程序到Kubernetes上的
  • 高性能JavaScript阅读简记(三)
  • 后端_MYSQL
  • 基于游标的分页接口实现
  • 批量截取pdf文件
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 通信类
  • 我有几个粽子,和一个故事
  • 异步
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 数据库巡检项
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​io --- 处理流的核心工具​
  • ###C语言程序设计-----C语言学习(6)#
  • #{} 和 ${}区别
  • #{}和${}的区别是什么 -- java面试
  • #QT项目实战(天气预报)
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (c语言)strcpy函数用法
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (免费分享)基于springboot,vue疗养中心管理系统