精华内容
下载资源
问答
  • java获取文件类型

    千次阅读 2018-07-19 17:04:56
    java获取文件类型 例子 @Test public void txtType() throws Exception { //需要注意的是 有些文件(例如 shell文件 获取的结果为null) String type = Files.probeContentType(Paths.get("c:/1.sh"...

    楔子

    java获取文件类型

    例子

    @Test
    public void txtType() throws Exception {
        //需要注意的是 有些文件(例如 shell文件 获取的结果为null)
        String type = Files.probeContentType(Paths.get("c:/1.sh"));
        System.out.println(type);
    
    }
    展开全文
  • Java获取文件类型的5种方法

    千次阅读 2021-02-05 08:00:00
    前言工作中经常会用到,判断一个文件的文件类型,这里总结一把,一般判断文件类型的原理有2种方式:根据文件扩展名判断优点:速度快,代码简单缺点:无法判断出真实的文件类型,例如一些伪造的文件或者...

    前言

    工作中经常会用到,判断一个文件的文件类型,这里总结一把,一般判断文件类型的原理有2种方式:

    1. 根据文件扩展名判断

    • 优点:速度快,代码简单

    • 缺点:无法判断出真实的文件类型,例如一些伪造的文件或者没有后缀名称的文件

    • 根据文件流中前几个字符判断

      • 优点:可以判断出真实的文件类型

      • 缺点:速度慢,代码复杂

      下面我会针对每个方法,去测试验证,测试文件如下:

      1. test.png: 创建一个正常的png文件,其扩展名为test.png

      2. test.doc: 复制一份上面的test.png文件,修改其文件名称为test.doc

      1. 使用Files.probeContentType

      Java1.7开始,提供了用于解决MIME类型的方法 Files.probeContentType:

          public static void test() throws IOException {
              Path path = new File("d:/test.png").toPath();
              String mimeType = Files.probeContentType(path);
              System.out.println(mimeType);
          }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docapplication/msword

      此方法利用已安装的FileTypeDetector实现来探查MIME类型。它调用每个实现的 probeContentType来解析类型。

      但是,其默认实现是特定于操作系统的,并且可能会失败,具体取决于我们使用的操作系统。

      结论:根据文件扩展名判断。

      2. 使用URLConnection

      URLConnection提供了几种用于检测文件的MIME类型的API。

      2.1 使用getContentType

      public void test(){
          File file = new File("d:/test.png");
          URLConnection connection = file.toURL().openConnection();
          String mimeType = connection.getContentType();
      }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docimage/png✔️

      结论:根据文件流中前几个字符判断。能够判断真实的文件类型,但是,这种方法的主要缺点是速度非常慢

      2.2 使用guessContentTypeFromName

      public void test(){
          File file = new File("d:/test.png");
          String mimeType = URLConnection.guessContentTypeFromName(file.getName());
      }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docnull❌ 具体参考下面的2.4

      该方法利用内部的FileNameMap来判断MIME类型。

      结论:根据文件扩展名判断。

      2.3 使用guessContentTypeFromStream

          public static void test() throws Exception {
              FileInputStream inputFile = new FileInputStream("d:/test.doc");
              String mimeType = URLConnection.guessContentTypeFromStream(new BufferedInputStream(inputFile));
              System.out.println(mimeType);
          }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docimage/png✔️

      结论:根据文件流中前几个字符判断

      2.4 使用getFileNameMap

      使用URLConnection获得MIME类型的更快方法是使用getFileNameMap()方法:

      public void test(){
          File file = new File("d:/test.png");
          FileNameMap fileNameMap = URLConnection.getFileNameMap();
          String mimeType = fileNameMap.getContentTypeFor(file.getName());
      }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docnull

      该方法返回URLConnection的所有实例使用的MIME类型表。然后,该表用于解析输入文件类型。

      当涉及URLConnection时,MIME类型的内置表非常有限。

      默认情况下,该类使用content-types.properties文件,其所在目录为JRE_HOME/lib。但是,我们可以通过使用content.types.user.table属性指定用户特定的表来扩展它 :

      System.setProperty("content.types.user.table","<path-to-file>");
      

      结论:根据文件扩展名判断。

      3. 使用MimeTypesFileTypeMap

      该类是Java 6附带的,因此在使用JDK 1.6时非常方便。

      public void test() {
          File file = new File("product.png");
          MimetypesFileTypeMap fileTypeMap = new MimetypesFileTypeMap();
          String mimeType = fileTypeMap.getContentType(file.getName());
      }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docapplication/octet-stream

      在这里,我们可以将文件名或File实例本身作为参数传递给函数。但是,以File实例为参数的函数在内部调用重载方法,该方法接受文件名作为参数。

      在内部,此方法查找名为mime.types的文件以进行类型解析。请务必注意,该方法以特定顺序搜索文件:

      1. 以编程方式将条目添加到MimetypesFileTypeMap实例

      2. 用户主目录中的mime.types

      3. <java.home> /lib/mime.types

      4. 名为META-INF / mime.types的资源

      5. 名为META-INF / mimetypes.default的资源(通常仅在activation.jar文件中找到)

      但是,如果找不到文件,它将返回application/octet-stream作为响应。

      结论:根据文件扩展名判断。

      4. 使用jmimemagic

      jMimeMagic是一个受限制许可的库,我们可以使用它来获取文件的MIME类型。

      配置Maven依赖:

      <dependency>
          <groupId>net.sf.jmimemagic</groupId>
          <artifactId>jmimemagic</artifactId>
          <version>0.1.5</version>
      </dependency>
      

      接下来,我们将探讨如何使用该库:

      public void test() {
              File file = new File("d:/test.doc");
              MagicMatch match = Magic.getMagicMatch(file, false);
              System.out.println(match.getMimeType());
      }
      

      该库可以处理数据流,因此不需要文件存在于文件系统中。

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docimage/png✔️

      结论:根据文件流中前几个字符判断

      5. 使用Apache Tika

      Apache Tika是一个工具集,可检测并从各种文件中提取元数据和文本。它具有丰富而强大的API,并带有[tika-core],我们可以利用它来检测文件的MIME类型。

      配置Maven依赖:

      <dependency>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-core</artifactId>
          <version>1.18</version>
      </dependency>
      

      接下来,我们将使用detect()方法来解析类型:

      public void whenUsingTika_thenSuccess() {
          File file = new File("d:/test.doc");
          Tika tika = new Tika();
          String mimeType = tika.detect(file);
      }
      

      结果

      文件结果结论
      test.pngimage/png✔️
      test.docimage/png✔️

      结论:根据文件流中前几个字符判断

      总结

      根据判断原理总结分类如下:

      判断原理方式
      根据文件扩展名1.Files.probeContentType
      2.URLConnection.guessContentTypeFromName
      3.URLConnection.getFileNameMap
      4.MimetypesFileTypeMap
      根据文件流中前几个字符1.URLConnection.getContentType
      2.URLConnection.guessContentTypeFromStream
      3.jmimemagic
      4.tika

      具体如何选择,依据需求而定

      参考:https://www.baeldung.com/java-file-mime-type

      
      往期推荐
      

      最常见的10种Java异常问题!


      SpringBoot接口幂等性实现的4种方案!


      对象复制的7种方法,还是Spring的最好用!


      关注我,每天陪你进步一点点!

    展开全文
  • 使用Java获取文件类型

    千次阅读 2016-09-17 22:40:51
    Using Java 7 Files.html#probeContentType import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class Test { public static void
    Using Java 7
    Files.html#probeContentType

    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    
    public class Test {
      public static void main(String[] args) throws IOException {
        Path source = Paths.get("c:/temp/0multipage.tif");
        System.out.println(Files.probeContentType(source));
        // output : image/tiff
      }
    }
    
    The default implementation is OS-specific and not very complete. It's possible to register a better detector, like for example Apache Tika, see  Transparently improve Java 7 mime-type recognition with Apache Tika .
    Using javax.activation.MimetypesFileTypeMap
    activation.jar  is required, it can be downloaded from  http://java.sun.com/products/javabeans/glasgow/jaf.html .

    The MimetypesFileMap class is used to map a File to a Mime Type. Mime types supported are defined in a ressource file inside the activation.jar.

    import javax.activation.MimetypesFileTypeMap;
    import java.io.File;
    
    class GetMimeType {
      public static void main(String args[]) {
        File f = new File("gumby.gif");
        System.out.println("Mime Type of " + f.getName() + " is " +
                             new MimetypesFileTypeMap().getContentType(f));
        // expected output :
        // "Mime Type of gumby.gif is image/gif"
      }
    }
    The built-in mime-type list is very limited but a mechanism is available to add very easily more Mime Types/extensions.

    The MimetypesFileTypeMap looks in various places in the user's system for MIME types file entries. When requests are made to search for MIME types in the MimetypesFileTypeMap, it searches MIME types files in the following order:

    1. Programmatically added entries to the MimetypesFileTypeMap instance.
    2. The file .mime.types in the user's home directory.
    3. The file <java.home>/lib/mime.types.
    4. The file or resources named META-INF/mime.types.
    5. The file or resource named META-INF/mimetypes.default (usually found only in the activation.jar file).
    This method is interesting when you need to deal with incoming files with the filenames normalized. The result is very fast because only the extension is used to guess the nature of a given file.
    Using java.net.URL
    Warning : this method is  very slow! .

    Like the above method a match is done with the extension. The mapping between the extension and the mime-type is defined in the file [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
      }
    }
    
    A note from R. Lovelock :
    I was trying to find the best way of getting the mime type of a file
    and found your sight very useful. However I have now found a way of
    getting the mime type using URLConnection that isn't as slow as the
    way you describe.
    
    import java.net.FileNameMap;
    import java.net.URLConnection;
    
    public class FileUtils {
    
      public static String getMimeType(String fileUrl)
          throws java.io.IOException
        {
          FileNameMap fileNameMap = URLConnection.getFileNameMap();
          String type = fileNameMap.getContentTypeFor(fileUrl);
    
          return type;
        }
    
        public static void main(String args[]) throws Exception {
          System.out.println(FileUtils.getMimeType("file://c:/temp/test.TXT"));
          // output :  text/plain
        }
      }
    
    Using Apache Tika
    Tika is subproject of Lucene, a search engine. It is a toolkit for  detecting  and  extracting metadata and structured text content  from various documents using existing parser libraries.

    This package is very up-to-date regarding the filetypes supported, Office 2007 formats are supported (docs/pptx/xlsx/etc...).

    Apache Tika

    Tika has a lot of dependencies ... almost 20 jars ! But it can do a lot more than detecting filetype. For example, you can parse a PDF or DOC to extract the text and the metadata very easily.

    import java.io.File;
    import java.io.FileInputStream;
    
    import org.apache.tika.metadata.Metadata;
    import org.apache.tika.parser.AutoDetectParser;
    import org.apache.tika.parser.Parser;
    import org.apache.tika.sax.BodyContentHandler;
    import org.xml.sax.ContentHandler;
    
    public class Main {
    
        public static void main(String args[]) throws Exception {
    
        FileInputStream is = null;
        try {
          File f = new File("C:/Temp/mime/test.docx");
          is = new FileInputStream(f);
    
          ContentHandler contenthandler = new BodyContentHandler();
          Metadata metadata = new Metadata();
          metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());
          Parser parser = new AutoDetectParser();
          // OOXMLParser parser = new OOXMLParser();
          parser.parse(is, contenthandler, metadata);
          System.out.println("Mime: " + metadata.get(Metadata.CONTENT_TYPE));
          System.out.println("Title: " + metadata.get(Metadata.TITLE));
          System.out.println("Author: " + metadata.get(Metadata.AUTHOR));
          System.out.println("content: " + contenthandler.toString());
        }
        catch (Exception e) {
          e.printStackTrace();
        }
        finally {
            if (is != null) is.close();
        }
      }
    }
    
    You can download  here  a ZIP containing the required jars if you want to check it out.
    Using JMimeMagic
    Checking the file extension is not a very strong way to determine the file type. A more robust solution is possible with the  JMimeMagic library . JMimeMagic is a Java library (LGLP licence) that retrieves file and stream mime types by checking magic headers.
    // snippet for JMimeMagic lib
    //     http://sourceforge.net/projects/jmimemagic/
    
    Magic parser = new Magic() ;
    // getMagicMatch accepts Files or byte[],
    // which is nice if you want to test streams
    MagicMatch match = parser.getMagicMatch(new File("gumby.gif"));
    System.out.println(match.getMimeType()) ;
    
    Thanks to Jean-Marc Autexier and sygsix for the tip!
    Using mime-util
    Another tool is  mime-util . This tool can detect using the file extension or the magic header technique.
    import eu.medsea.mimeutil.MimeUtil;
    
    public class Main {
        public static void main(String[] args) {
            MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
            File f = new File ("c:/temp/mime/test.doc");
            Collection<?> mimeTypes = MimeUtil.getMimeTypes(f);
            System.out.println(mimeTypes);
            //  output : application/msword
        }
    }
    
    The nice thing about mime-util is that it is very lightweight. Only 1 dependency with  slf4j
    Using Droid
    DROID (Digital Record Object Identification) is a software tool to perform automated batch identification of file formats.

    DROID uses internal and external signatures to identify and report the specific file format versions of digital files. These signatures are stored in an XML signature file, generated from information recorded in the PRONOM technical registry. New and updated signatures are regularly added to PRONOM, and DROID can be configured to automatically download updated signature files from the PRONOM website via web services.

    It can be invoked from two interfaces, a Java Swing GUI or a command line interface.

    http://droid.sourceforge.net/wiki/index.php/Introduction

    Aperture framework
    Aperture is an open source library and framework for crawling and indexing information sources such as file systems, websites and mail boxes.

    The Aperture code consists of a number of related but independently usable parts:

    • Crawling of information sources: file systems, websites, mail boxes
    • MIME type identification
    • Full-text and metadata extraction of various file formats
    • Opening of crawled resources
    For each of these parts, a set of APIs has been developed and a number of implementations is provided.

    http://aperture.wiki.sourceforge.net/Overview

    展开全文
  • Java获取文件类型Mime Type的各种方法

    万次阅读 2011-12-06 15:39:12
    本文转载自:...  使用 javax.activation.MimetypesFileTypeMap 需要引入activation.jar这个jar包 , 他可以从下面这个网站获得http://java.sun.com/products/javabeans/glasgow/jaf.html. 这个Mimetyp
      本文转载自:
    http://hotsunshine.iteye.com/blog/857485
    

     

    使用 javax.activation.MimetypesFileTypeMap
    需要引入activation.jar这个jar包 , 他可以从下面这个网站获得http://java.sun.com/products/javabeans/glasgow/jaf.html.
    这个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("gumby.gif");
        System.out.println("Mime Type of " + f.getName() + " is " + 
                             new MimetypesFileTypeMap().getContentType(f));
        // expected output : 
        // "Mime Type of gumby.gif is image/gif"
      }
    }

    自带的mime-type列表中的数量有限,但是它提供了方法让您可以很方便的添加更多的mime类型

    MimetypesFileTypeMap 会在用户系统的很多地方去查找文件的MIME类型。当一个查找MIME类型的请求到达后,他会按照下面这个顺序去查找MIME类型

    首先通过程序将文件添加到MimetypesFileTypeMap的一个实例中
    查找用户的home路径下的文件 .mime.types
    查找文件  <java.home>/lib/mime.types
    查找文件或者资源 META-INF/mime.types
    查找文件或者资源 META-INF/mimetypes.default (一般只在 activation.jar 中去查找).

    当你需要处理一个传入的一般文件命名的文件的时候,这个方法是非常有趣的。结果出来的速度很快,因为只有扩展名被用来猜测文件的自然属性

    使用 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 
      } 
    }


    来自R. Lovelock 的笔记: 
    我尝试去找一个最好的能获取mime type的类型的方法,发现你的发现很有用,但是现在我发现,可以通过URLConnection来查找,并没有像你描述的那么慢

    import java.net.FileNameMap; 
    import java.net.URLConnection; 
    
    public class FileUtils { 
    
      public static String getMimeType(String fileUrl) 
          throws java.io.IOException 
        { 
          FileNameMap fileNameMap = URLConnection.getFileNameMap(); 
          String type = fileNameMap.getContentTypeFor(fileUrl); 
          return type; 
        } 
    
        public static void main(String args[]) throws Exception { 
          System.out.println(FileUtils.getMimeType("file://c:/temp/test.TXT")); 
          // output :  text/plain 
        } 
      }
    }

     

    使用 Apache Tika
    Tika是lucene的子项目,它是通过已经存在的解析库在各种文档中查找并提取元数据和结构化文本内容的工具包。
    这个包提供了最新文件类型的支持,包括office2007(docs/pptx/xlsx/etc...)

    Apache Tika
    Tika有很多依赖包,大约有20个jar包!但是它所能做的不仅仅是检测文件类型这么简单,例如,你可以解析PDF或者DOC文件,并很容易的获取文本和元数据

     

    import java.io.File; 
    import java.io.FileInputStream; 
    
    import org.apache.tika.metadata.Metadata; 
    import org.apache.tika.parser.AutoDetectParser; 
    import org.apache.tika.parser.Parser; 
    import org.apache.tika.sax.BodyContentHandler; 
    import org.xml.sax.ContentHandler; 
    
    public class Main { 
    
        public static void main(String args[]) throws Exception { 
    
        FileInputStream is = null; 
        try { 
          File f = new File("C:/Temp/mime/test.docx"); 
          is = new FileInputStream(f); 
    
          ContentHandler contenthandler = new BodyContentHandler(); 
          Metadata metadata = new Metadata(); 
          metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName()); 
          Parser parser = new AutoDetectParser(); 
          // OOXMLParser parser = new OOXMLParser(); 
          parser.parse(is, contenthandler, metadata); 
          System.out.println("Mime: " + metadata.get(Metadata.CONTENT_TYPE)); 
          System.out.println("Title: " + metadata.get(Metadata.TITLE)); 
          System.out.println("Author: " + metadata.get(Metadata.AUTHOR)); 
          System.out.println("content: " + contenthandler.toString()); 
        } 
        catch (Exception e) { 
          e.printStackTrace(); 
        } 
        finally { 
            if (is != null) is.close(); 
        } 
      } 
    }


    使用JMimeMagic
    通过检测文件后缀名去查找文件类型显然不是一个健壮的方法。JMimeMagic库提供了更健壮的检测方法,他是一个通过检查magic headers来判断文件或者流的mime 类型的java工具包

    // snippet for JMimeMagic lib
    //     http://sourceforge.net/projects/jmimemagic/

    Magic parser = new Magic() ;
    // getMagicMatch accepts Files or byte[],
    // which is nice if you want to test streams
    MagicMatch match = parser.getMagicMatch(new File("gumby.gif"));
    System.out.println(match.getMimeType()) ;

    使用 mime-util

    另一个工具是mime-util,这个工具可以通过 检测文件扩展名,或者检测magic header 两种技术方式来实现mime类型的检测

    import eu.medsea.mimeutil.MimeUtil;
    public class Main {
        public static void main(String[] args) {
            MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
            File f = new File ("c:/temp/mime/test.doc");
            Collection<?> mimeTypes = MimeUtil.getMimeTypes(f);
            System.out.println(mimeTypes);
            //  output : application/msword
        }
    }

    mime-util的比较好的一点是它是轻量级的,只依赖于slf4j一个包

    展开全文
  • Java根据文件内容获取文件类型,防止文件伪造后缀名。
  • 主要介绍了Android中Java根据文件头获取文件类型的方法,涉及Android针对文件属性的相关操作技巧,需要的朋友可以参考下
  • java 获取文件的真实类型(不是根据文件的后缀名称判断类型) commons-io-2.6.jar commons-lang-2.6.jar
  • 通常情况下,我们取文件的后缀名作为文件类型即可,但有时为了防止用户随便修改后缀名,就需要获取文件的真实类型。这时候可以通过文件的魔数来判别。魔数就是文件开头的那几个字节的数据。 代码实现 工具类代码...
  • 主要介绍了Java获取文件类型和扩展名的实现方法的相关资料,需要的朋友可以参考下
  • java 获取文件头判断文件类型

    千次阅读 2019-07-05 21:10:17
    介绍:1.件头是位于文件开头的一段承担一定任务的数据,一般都在开头的...为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合...
  • java 获取文件后缀名(文件类型

    千次阅读 2018-05-23 09:19:00
    java 获取文件后缀名(文件类型) CreateTime--2018年5月23日09:16:31 Author:Marydon // 获取文件名的后缀名(文件类型) String oldFileName = "UploadExcelController.java"; String fileType =...
  • JAVA获取真实的文件类型

    千次阅读 2017-05-25 16:31:56
    获取文件类型有些人根据文件名直接获取后缀名,其实这种做法是错误的,会造成很多错误和麻烦无法获取真实的文件类型,下面的方法是根据读取文件头信息获取真实文件类型的方法,方法备注很明确就不多说了。...
  • java获取文件MIME类型

    万次阅读 2016-11-23 12:30:55
    最近这几天的工作中,由于自己一直在接触post上传文件发送请求,所以在这碰到了很多的问题,现在我们先来看看如何获取一个文件的MIME类型。那么先来解释下MIME的概念吧。 MIME(Multipurpose Internet Mail ...
  • Java通过文件头获取文件类型

    千次阅读 2017-11-01 17:20:17
    public class FileCheckTypeUtil { private static Logger logger = LogManager.getLogger(FileCheckTypeUtil.class); static Map,String> map = null; static { map =new HashMap();...文件类型需要提前穷举
  • Java依据文件头获取文件类型

    千次阅读 2015-11-10 18:55:44
    ava根据文件头获取文件类型  文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存...
  • java判断文件类型

    万次阅读 2019-05-28 16:10:59
    判断文件类型 在上传文件,判断文件类型的时候,往往会通过后缀名和头部信息判断,前者大大不靠谱,后者个别类型的文件不太好判断。这里推荐apache的一款tika,可以做文件判断还可以更强大的做内容解析。一下写出两...
  • java 获取文件类型

    千次阅读 2017-03-27 11:06:00
    之前使用 javax.activation.MimetypesFileTypeMap; 判断发现 如果文件是 office 文件 就...通过检测文件后缀名去查找文件类型显然不是一个健壮的方法。JMimeMagic库提供了更健壮的检测方法,他是一个通过检查magic head
  • Java 获取文件的MIME类型

    千次阅读 2017-10-20 17:49:11
    因特网上有数千种不同的文件类型,HTTP会给每种要通过Web传输的对象打上MIME类型的数据格式标签(MIME解释可以自行百度下),用来描述并标记多媒体内容。 Web服务器会为所有HTTP对象数据附加一个MIME类型,当Web...
  • 获取文件类型(后缀名): 方法一: split分割:如果用“.”作为分隔的话,必须是如下写法,String.split("\."),这样才能正确的分隔开,不能用String.split(".") String filename = "file.txt";// 文件名 String[] ...
  • Java获取系统文件类型图标并显示在JSP上.pdf
  • PAGE / NUMPAGES Java获取URL链接的文件类型 在写网络爬虫的时候需要根据链接来获取文件类型将内容正确存储之前我都是根据链接的后缀来判断的比如 /da/20120330/88_31_ZySDre.jpg文档收集自网络仅用于个人学习 这个...
  • java通过文件头内容判断文件类型

    热门讨论 2012-04-22 22:50:20
    java通过文件头内容判断文件类型
  • Java判断文件类型

    千次阅读 2017-07-11 16:07:20
    2. 通过读取文件获取文件的Content-type来判断。 3. 通过读取文件流,根据文件流中特定的一些字节标识来区分不同类型文件。 4. 若是图片,则通过缩放来判断,可以缩放的为图片,不可以的则不是。 然而,在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 846,206
精华内容 338,482
关键字:

java获取文件类型

java 订阅