java小程序——提取地址中的文件名

来源:互联网 发布:英国大学精算 知乎 编辑:程序博客网 时间:2024/06/05 17:47

小程序:

根据文件所在的地址,将文件地址逐一分解,并提取文件的名称

例如输入地址 C : \ Program Files \ math fee \ MPF

输出文件根目录,每层文件夹,以及文件名称

思路:

1. 先将地址存入字符串,逐一读取

先输出文件根目录,第一个反斜线 \ 前即根目录,

2. 在将字符串进行截取,保留第一个反斜线后的内容,

两个反斜线之间的即为每一层文件夹

3. 最后一个反斜线后边的是文件具体名称


代码:

package address_turning;public class get {int c_count = 0;// 用于表示反斜线数量int count = 0;// 用于控制字符数组ad的的循环变量String address;// 输入的地址int count_index;// 计算反斜线数目时,表示反斜线的索引String count_address = new String("C:\\Program Files\\math fee\\MPF");String root_address;// 地址的根目录String file_name;// 地址下的文件名String ad[] = new String[100];get(String address) {this.address = address;}// n个反斜线,循环n-1次public void turnning() {//以下部分代码用于统计字符串中\的个数while (count_address.contains("\\")) {count_index = count_address.indexOf("\\");count_address = count_address.substring(count_index + 1);c_count++;}System.out.println("地址中共有'\\'个数为" + c_count);int index;// 声明截取变量位置,注意循环中重新赋值// 第一部分,截取根盘,并第一次将地址截取index = address.indexOf('\\');// "\"是一个特殊字符,在使用时要进行转义root_address = address.substring(0, index - 1);// 从字符串第一个开始截取,截取到转义字符\System.out.println("文件根目录为:" + root_address);address = address.substring(index + 1);// 截取根盘和第一个反斜线// 第二部分for (count = 0; count < c_count - 1; count++) {// 经过第一次操作文件名变为 Program Files\math fee\MPFindex = address.indexOf('\\');ad[count] = address.substring(0, index);switch (count) {case 0: {System.out.printf("第一");break;}case 1: {System.out.printf("第二");break;}case 2: {System.out.printf("第三");break;}case 3: {System.out.printf("第四");break;}case 4: {System.out.printf("第五");break;}case 5: {System.out.printf("第六");break;}case 6: {System.out.printf("第七");break;}case 7: {System.out.printf("第八");break;}}System.out.println("层文件夹为:" + ad[count]);address = address.substring(index + 1);}//第三部分,截取到字符串的最后,即文件名System.out.println("文件名为:" + address);}}
package address_turning;import java.util.*;public class Test {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("输入待分解的地址:");get getaddress = new get(input.nextLine());getaddress.turnning();}}

运行结果:

输入待分解的地址:
C:\Program Files\math fee\MPF
地址中共有'\'个数为3
文件根目录为:C
第一层文件夹为:Program Files
第二层文件夹为:math fee
文件名为:MPF