“C:\Documents and Settings\Administrator\桌面\t.txt”这个字符串截取一下,我只要t。 就是txt的名称,要是路径变了的话我也只需要文件名。总之无论路径是什么样,我要取到文件名大神们帮帮忙。

解决方案 »

  1.   

    你确定只是txt文件么?
    可以用总长度,然后index找到'.txt',之后怎么办就不用说了吧
    如果不是的话,就换个思路在这个字符串里面找'.',如果找到了,那么从'.'开始往回截取到倒数第一个'\'
    如果没有'.',那么直接截取到最大的lengh,开始位置就是最后一个'\'明白了么
      

  2.   


    String str = "C:\\Documents and Settings\\Administrator\\桌面\\t.txt";
    String s = str.substring(str.lastIndexOf("\\")+1, str.lastIndexOf("."));
      

  3.   


    String s="";
            String str="t.txt";
    if(!str.contains("\\"))
    s=str.substring(0,str.lastIndexOf("."));
    else
    s= str.substring(str.lastIndexOf("\\")+1, str.lastIndexOf("."));
      

  4.   

    你能获得“C:\Documents and Settings\Administrator\桌面\t.txt” 吗?(不管引号中间是什么)
    如果能获得,得改成“..:\\....\\....\\....\\.....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即为文件名,大一学生,用的都是比较基本的方法。
    //经验证可以实现目的