Android 如何确定文件的扩展名

Android 如何确定文件的扩展名,android,Android,我正在从服务器获取字节数组,但不知道该文件的确切扩展名,因为该文件可能是.pdf/mp4/docx/zip,所以在将其保存到SD卡后如何知道确切的扩展名 有什么想法吗?无法根据文件内容可靠地确定文件扩展名。这就像试图找出信封上写的是什么,如果你只有信本身的话 您可以猜测,但这将是一项困难的任务(例如,docx也是一个zip文件)。这方面有专门的软件(许多操作系统包括),您可能会找到一个可以使用的第三方库,但即使您这样做,这仍然是一个猜测 我宁愿集中精力寻找一种方法,让服务器除了告诉您内容外,还告

我正在从服务器获取字节数组,但不知道该文件的确切扩展名,因为该文件可能是.pdf/mp4/docx/zip,所以在将其保存到SD卡后如何知道确切的扩展名


有什么想法吗?

无法根据文件内容可靠地确定文件扩展名。这就像试图找出信封上写的是什么,如果你只有信本身的话

您可以猜测,但这将是一项困难的任务(例如,
docx
也是一个
zip
文件)。这方面有专门的软件(许多操作系统包括),您可能会找到一个可以使用的第三方库,但即使您这样做,这仍然是一个猜测


我宁愿集中精力寻找一种方法,让服务器除了告诉您内容外,还告诉您原始文件名。

没有合适的方法来立即确定文件扩展名

但是,您可以对特定的文件类型施加条件,例如,如果文件扩展名为mp3,则执行特定任务。为此,您可以使用
FilenameFilter


有关它的详细信息,请查看。

如果是自定义协议,则应将数据类型的一个(或多个)字节传递给客户端,然后获取数据并根据第一个字节在客户端添加扩展名。如果它是类似http的协议,则可以在答案中添加一些标题。但是它也需要在服务器端和客户端上做同样的事情。

如果我知道扩展,我就不会在这里发布我的问题,无论如何,谢谢