A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘印12 中级黑马   /  2013-3-29 13:43  /  1605 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求一个获取已知文件扩展名的程序

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

7 个回复

倒序浏览
怎么没人回复呢??

回复 使用道具 举报
本帖最后由 丘凤光 于 2013-3-29 14:22 编辑

因为文件全名的最后一个“.”的就是扩展名。所以可以用字符串的lastIndexOf方法获取最后一个“.”的位置,然后用字符串的substring方法获取扩展名。
例如:
  1. <div class="blockcode"><blockquote>/*
  2. 需求:获取一个已知文件的扩展名。

  3. */
  4. class KuoZhanName
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 String fileName = "aabbcc.doc.java.txt";    //文件全名
  9.                 String kzName = fileName.substring(fileName.lastIndexOf(".") + 1);    //lastIndexOf获取最后一个“.”位置,传给substring获取扩展名
  10.                 System.out.println(kzName);//打印扩展名
  11.         }
  12. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
仍有问题的话,可以追问或补充问题; 没有的话,请将帖子分类改成【已解决】~
回复 使用道具 举报
  1. public class Getname {
  2.         public static void main(String[] args){
  3.                 String name1="abc.java.txt";
  4.                 String name2="abc.txt";
  5.                 System.out.println(getname(name1));
  6.                 System.out.println(getname(name2));
  7.         }
  8.         public static String getname(String str){
  9.                 String[] astr=str.split("");//将字符串拆分成字符数组
  10.                 String bstr;
  11.                 int length=str.length();
  12.                 int i;
  13.                 for(i=length;i>=0;i--){
  14.                         if(astr[i].equals(".")){
  15.                                 break;
  16.                         }
  17.                 }
  18.                 bstr=str.substring(i,length);//将最后出现的一个“。”之后的字符串输出
  19.                
  20.                 return bstr;
  21.         }

  22. }
复制代码
这段程序的思想就是查找给定文件名的最后一个“.”然后将后面的字符串输出。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
陆旭东 发表于 2013-3-29 16:36
这段程序的思想就是查找给定文件名的最后一个“.”然后将后面的字符串输出。 ...

这个程序的文件名是你在程序里定义的,不符合获取已知文件扩展名的要求啊,怎样获取已知文件扩展名呢?
回复 使用道具 举报
程序片段:
File file = new File("Test8.java");//读取指定文件,或者用形参传递.
                StringBuilder name = new StringBuilder(file.getName()).reverse();//获取文件名并用reverse翻转
                String ext = new StringBuilder(name.substring(0, name.indexOf("."))).reverse().toString();//截取第一个"."之前的字符并翻转再转成字符串
                System.out.println("文件扩展名为:" + ext);

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
public class Test {

        public static void main(String[] args) {
                //定义字符串
                String s1 = "abc.txt";
                String s2 = "abc.java.txt";
                String s3 = "abc.java";
                //定义一个My类的对象
                My p = new My();
                //调用myexam方法
                p.myexam(s1);
                p.myexam(s2);
                p.myexam(s3);

        }

}

class My {
        public void myexam(String s) {
                //获取字符串中最后一个.出现的位置
                int a = s.lastIndexOf(".");
                //从最后.出现的位置+1截取新的字符串
                System.out.println(s.substring(a + 1));
        }
}给你举了个例子 你可以看看

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1 新人加油~ 回答问题尽量占前排的楼哦~.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马