try java.io.File
創(chuàng)新互聯(lián)堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10年網(wǎng)站建設(shè)經(jīng)驗創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)站設(shè)計、html5、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、成都小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
{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 {
//用于存儲地址的動態(tài)數(shù)組
private static List addresses = new ArrayList();
//用于存儲地址的數(shù)組
private static Object[] addresses_str = null;
public static void main(String[] args) {
System.out.println("請稍等,數(shù)據(jù)加載需要一定時間............................");
getDirInTray(new File("C:/"));
//測試動態(tài)數(shù)組列表內(nèi)容是否是所有地址
for(Iterator ite = addresses.iterator();ite.hasNext();){
System.out.println(ite.next());
}
System.out.println("============================================================");
//通過字符串?dāng)?shù)組進(jìn)行接收所有路徑
addresses_str =addresses.toArray();
//打印該數(shù)組,確保正確
for(int i = 0;iaddresses_str.length;i++){
System.out.println(addresses_str[i]);
}
}
//得到指定盤符dir下所有路徑
/*
* @param dir表示需要指定的盤符
* */
public static void getDirInTray(File dir){
//獲取指定盤符下的所有文件列表。(listFiles可以獲得指定路徑下的所有文件,以數(shù)組方式返回)
File[] files = dir.listFiles();
//如果該目錄下面為空,則該目錄的此方法執(zhí)行
if(files == null){
return;
}
//通過循環(huán)將所遍歷所有文件
for(int i=0;ifiles.length;i++){
//isDirectory方法用于判斷當(dāng)前的文件是不是路徑,如果是就返回true
if(files[i].isDirectory()){
//如果是路徑,則通過getAbsolutePath得到它的絕對路徑,并打印到控制臺
//System.out.println(files[i].getAbsolutePath());
//將路徑加到List中
addresses.add(files[i].getAbsolutePath());
//通過遞歸算法調(diào)用自身,進(jìn)行對當(dāng)前文件的getDirInTray方法的調(diào)用
getDirInTray(files[i]);
}
}
}
}
/*
* 這里的難點主要在遞歸算法,如果你懂了,那就很容易理解
* 大量用到了File類的API,可以借助于JDK進(jìn)行對File類的API進(jìn)行更深入的了解
* */
/*
我先放在了動態(tài)數(shù)組ArrayList中,然后將動態(tài)數(shù)組轉(zhuǎn)換成Object[]數(shù)組。
*/
String[] str = url.split("http://");
System.out.println(str[0]+"盤");
System.out.println(str[1]+"http://"+str[2]+"目錄");
System.out.println(str[3]);