1. Java

MIME测试

多用途互联网邮件扩展(英语:Multipurpose Internet Mail Extensions,缩写:MIME)是一个互联网标准,它扩展了电子邮件标准,使其能够支持:

MIME改善了由 RFC 822 转变而来的 RFC 2822 ,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型

上学期写的senCQ(Java特别版)当时准备使用但由于时间仓促没有仔细研究就无脑切后缀了;现在回过头来研究一下。

发现MIME的Java官方实现也几乎是更具后缀猜嘛?

对于这些你能想到的功能不要一上来就想着自己造轮子(当然如果时间允许,自己造个轮子又何妨?)

首先我们要看一下这个功能官方是否已经实现?比如base64编码,官网已经实现;而我却不知道跑去apache下codec多跑冤枉路!

如果官方已经帮我们办好的话,并且官方的轮子可以在我们的应用场景下转起来;那么就官方即可。

如果官方没有轮子或者官方的轮子不是很好,那么我们就得找第三方的轮子了!

最后!!!很不幸,没有找到第三方轮子,亦或是第三方的轮子根本转不了,这时候你可以尝试修复一下别人的轮子(上次闲着写了个senMusic)找了个网上找了个lrc-parser的轮子,结果转的不是很顺溜,简单修复一下就OK了;如果没有别人的轮子,那就自己动手,丰衣足食!

说了这么多,直接进入正题吧!直接看代码,一目了然!

package com.company;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {

    public static void main(String[] args) throws IOException {
	// write your code here
        Path path = Paths.get("D:/未命名.html");
        System.out.println(Files.probeContentType(path));
    }
}
text/html

Process finished with exit code 0

结果如上!!!

但是当我把文件后缀名改为exe结果又如下所示

application/x-msdownload

Process finished with exit code 0

所以说嘛,只是简单的后缀判断,猜测而已不然为啥叫**probeContentType**