求助 JAVA 中读取文件名(不包括文件的扩展名) JAVA 中读取文件名(不包括文件的扩展名) 用lastIndexOf(".") 去截取的话,有些文件还是不行.象一些文件是读不出文件的扩展名的,这时会报错.请大家帮忙解决啊~~~ 有办法直接读取不包括扩展名的文件名吗?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String name = ……;int dotPos = name.lastIndexOf('.');String mainName = dotPos < 0 ? name : name.sutstring(0, dotPos); 读不出扩展名的lastIndexOf(".") 的话,返回的是-1。应该可以判断的。 但是就像文件"text."这么个文件就有问题了 他是没有文件扩展名啊 嗯,这个就看你怎么看待了。还有linux下那些以“.”开头的文件名。没有什么标准规定扩展名到底是怎样,所有这种情况就看你自己的意愿了。封装一个独立的函数吧。 String name = ……;int dotPos = name.lastIndexOf('.');String mainName = (dotPos <= 0 || dotPos == name.length() - 1) ? name : name.substring(0, dotPos) public static String getFileName(File file) { String filename = ""; if (file != null) { filename = file.getName(); int i = filename.lastIndexOf('.'); if (i > 0 && i < filename.length() - 1) { return filename.substring(0,i); } } return filename; } LS的程序在这种情况下就会有问题: abc. 可改成这样: public static String getFileName(File file) { String filename = ""; filename=file!= null?file.getName():""; int i = filename.lastIndexOf('.'); filename=(i > 0 && i < filename.length())? filename.substring(0,i):filename return filename; } 迅雷下载局域网内的文件 工资管理系统中的帐套设置 DataSource与数据库连结池有什么联系? 一个关于将PDF文件转换为txt格式的问题?? Jbuilder 界面的问题! 初学者的问题...大家给个答案 .... JAVA中的Hashtable怎样用? 如何让我做出第一个java程序呢? 较简单,但搞不定的一个问题:关于滚动条。几行代码,烦请相助! 为什么我下载的JAVA的applet程序运行之后,汉字都变成了方格(我用的是win2000中文版) 咨询个有关think in java 的问题。 关于hello,java的小问题.
int dotPos = name.lastIndexOf('.');
String mainName = dotPos < 0 ? name : name.sutstring(0, dotPos);
还有linux下那些以“.”开头的文件名。
没有什么标准规定扩展名到底是怎样,所有这种情况就看你自己的意愿了。封装一个独立的函数吧。
int dotPos = name.lastIndexOf('.');
String mainName = (dotPos <= 0 || dotPos == name.length() - 1) ? name : name.substring(0, dotPos)
String filename = "";
if (file != null) {
filename = file.getName();
int i = filename.lastIndexOf('.');
if (i > 0 && i < filename.length() - 1) {
return filename.substring(0,i);
}
} return filename;
}
可改成这样:
public static String getFileName(File file) {
String filename = "";
filename=file!= null?file.getName():"";
int i = filename.lastIndexOf('.');
filename=(i > 0 && i < filename.length())? filename.substring(0,i):filename
return filename;
}