“C:\Documents and Settings\Administrator\桌面\t.txt”这个字符串截取一下,我只要t。 就是txt的名称,要是路径变了的话我也只需要文件名。总之无论路径是什么样,我要取到文件名大神们帮帮忙。
解决方案 »
- Java线程池遇到的问题,实在搞不定了,求助?
- 菜鸟提问:谁能给我写一个ByteArrary的例子
- 关于netmeeting求助
- 请问我用鼠标点击JTable中的一行数据,怎么使数据在JTextField 中显示,谢谢!! 在线等.....
- jpanel 怎样放大缩小呢?如果不重绘其中所有东东,仅仅像放大镜那样放大?
- WindowLookAndFeel中的中文问题?
- 求教,String问题
- 请教一个问题
- 谁能给我一个RMI的程序?
- 我用JET把我的.class弄成了.exe,在我的机器上可以运行,但环在别的机器上就不行,说是找不到XKRN25013.DLL,则么回事啊?
- 求人改下代码关于非静态变量的,就一两句。
- 关于异常与循环的小小问题
可以用总长度,然后index找到'.txt',之后怎么办就不用说了吧
如果不是的话,就换个思路在这个字符串里面找'.',如果找到了,那么从'.'开始往回截取到倒数第一个'\'
如果没有'.',那么直接截取到最大的lengh,开始位置就是最后一个'\'明白了么
String str = "C:\\Documents and Settings\\Administrator\\桌面\\t.txt";
String s = str.substring(str.lastIndexOf("\\")+1, str.lastIndexOf("."));
String s="";
String str="t.txt";
if(!str.contains("\\"))
s=str.substring(0,str.lastIndexOf("."));
else
s= str.substring(str.lastIndexOf("\\")+1, str.lastIndexOf("."));
如果能获得,得改成“..:\\....\\....\\....\\.....txt”。如果不能手动改的话就自己写一段代码插入。
String s1="……(获得的)……";
如:
String s1="woshidi dfsf\\dsff\\fsfdaa.txt";
char s[]=new char[s1.length()];
int n=0;
for(int i=0;i<s1.length();i++){//将字符串转化为字符数组
s[i]=s1.charAt(i);
}
A:{for(int i=s1.length()-1;i>=0;i--){ //判断最后一个"\"的位置
if((s1.charAt(i)<65||(s1.charAt(i)>91&&s1.charAt(i)<97)||s1.charAt(i)>123)&&s1.charAt(i)!=' '&&s1.charAt(i)!='.')
break A;
else
n++;
}}
String s2=s1.substring(s1.length()-n,s1.length()-4);
System.out.println(s2);
//s2即为文件名,大一学生,用的都是比较基本的方法。
//经验证可以实现目的