正则不是更简单
([^\\/]+)\([^\\/]+)
$1是文件名,$2是扩展名 ,下面是Javascript的测试代码:
<script type="text/javascript">
var a="c:\\windows\\abctxt";
var reg = /([^\\/]+)\([^\\/]+)/i;
regtest(a);
alert(RegExp$1);
alert(RegExp$2);
</script>
由于 *** 作系统和浏览器为了安全性,浏览器点击上传文件后,浏览器是不知道真实路径的,也就是说浏览器是不知道E:\我的文件夹\文件1xlsx的位置的。
文件的后缀可以在前台通过jquery的方式获取到上传文件的文件名称,然后通过字符串截取就可以了。
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。这是我在百度百科上摘抄的一段介绍,具体大家可以去百度百科查阅。
好,我们现在就来看看如何使用java获取文件的Content-Type的值,那么按照我的习惯,先来上代码:
30
import javaioIOException;import javaniofileFiles;import javaniofilePath;import javaniofilePaths;/ 测试类 @author ZY /public class MIME_Demo { public static void main(String[] args) throws Exception { Systemoutprintln(getContentType("F:/testpng")); Systemoutprintln(getContentType("F:/2doc")); Systemoutprintln(getContentType("F:/2csv")); Systemoutprintln(getContentType("F:/LiveUpdateexe")); Systemoutprintln(getContentType("F:/1txt")); Systemoutprintln(getContentType("F:/demojpg")); } public static String getContentType(String filename){ String type = null; Path path = Pathsget(filename); try { type = FilesprobeContentType(path); } catch (IOException e) { eprintStackTrace(); } return type; }}
这段代码的执行结果为:
image/png
application/msword
application/vndms-excel
application/x-msdownload
text/plain
image/jpeg
除非要用代码分析文件格式,否则不太可能。
但是假设你只是处理少数几个特定类型的文件,比如doc, xls等的,可以用一些专用的java工具比如POI的读取一下,看抛出异常不,没有的就可以断定为该类型了。
以上就是关于java获取文件名, 提取字符串中局部字符串。拆分文件名及后缀全部的内容,包括:java获取文件名, 提取字符串中局部字符串。拆分文件名及后缀、java中怎么获取form表单提交的一个文件的文件地址和文件名(包括文件后缀)、java怎么获取文件的mime类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)