重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
try java.io.File
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10年网站建设经验创新互联是成都老牌网站营销服务商,为您提供成都网站设计、网站制作、网站设计、html5、网站制作、品牌网站建设、成都小程序开发服务,给众多知名企业提供过好品质的建站服务。
{code}
public static void main(String[] a) {
String path = "/cmd/grep.exe";
File f = new File(path);
System.out.println("file f=" + f);
System.out.println("absolute path: " + f.getAbsolutePath());
}
{code}
output:
file f=\cmd\grep.exe
absolute path: C:\cmd\grep.exe
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class GetDir {
//用于存储地址的动态数组
private static List addresses = new ArrayList();
//用于存储地址的数组
private static Object[] addresses_str = null;
public static void main(String[] args) {
System.out.println("请稍等,数据加载需要一定时间............................");
getDirInTray(new File("C:/"));
//测试动态数组列表内容是否是所有地址
for(Iterator ite = addresses.iterator();ite.hasNext();){
System.out.println(ite.next());
}
System.out.println("============================================================");
//通过字符串数组进行接收所有路径
addresses_str =addresses.toArray();
//打印该数组,确保正确
for(int i = 0;iaddresses_str.length;i++){
System.out.println(addresses_str[i]);
}
}
//得到指定盘符dir下所有路径
/*
* @param dir表示需要指定的盘符
* */
public static void getDirInTray(File dir){
//获取指定盘符下的所有文件列表。(listFiles可以获得指定路径下的所有文件,以数组方式返回)
File[] files = dir.listFiles();
//如果该目录下面为空,则该目录的此方法执行
if(files == null){
return;
}
//通过循环将所遍历所有文件
for(int i=0;ifiles.length;i++){
//isDirectory方法用于判断当前的文件是不是路径,如果是就返回true
if(files[i].isDirectory()){
//如果是路径,则通过getAbsolutePath得到它的绝对路径,并打印到控制台
//System.out.println(files[i].getAbsolutePath());
//将路径加到List中
addresses.add(files[i].getAbsolutePath());
//通过递归算法调用自身,进行对当前文件的getDirInTray方法的调用
getDirInTray(files[i]);
}
}
}
}
/*
* 这里的难点主要在递归算法,如果你懂了,那就很容易理解
* 大量用到了File类的API,可以借助于JDK进行对File类的API进行更深入的了解
* */
/*
我先放在了动态数组ArrayList中,然后将动态数组转换成Object[]数组。
*/
String[] str = url.split("//");
System.out.println(str[0]+"盘");
System.out.println(str[1]+"//"+str[2]+"目录");
System.out.println(str[3]);