案例:
創建目錄
先要創建File類對象
調用mkdirs
測試是否創建好目錄—-利用JUnit來測試
/*
* 創建目錄
*/
@Test
public void m01(){
File file = new File("D:\\File\\Music");
file.mkdirs();
}
創建文件
先要創建File類對象
調用creatNewFile
/*
* 創建文件
*/
@Test
public void m02() throws IOException{
File directory = new File("D:\\File\\Music");
File file = new File(directory,"測試.docx");
if(!directory.exists()){
directory.mkdirs();
}
file.createNewFile();
}
刪除目錄
/*
* 刪除目錄
* 先判斷目錄下是否有文件----如果有文件,目錄刪除不了
*/
@Test
public void m03(){
File directory = new File("D:\\File\\Music");
if(!directory.exists()){
return;//目錄不存在則終止方法
}
File[] files = directory.listFiles();//返回music目錄下的文件
if(files.length>0){
for(File file : files){
if(file.isFile()){
file.delete();//刪除文件
}
}
}
directory.delete();
}
獲取一級目錄
/*
* 獲取一級目錄
*
*/
@Test
public void m04(){
File directory = new File("D:\\學習視頻\\jQuery\\jQuery\\2016-3-14 jQuery入門");
File[] files = directory.listFiles();
for(File file : files){
System.out.println(file.getName());
}
}
獲取文件大小
/*
* 獲取文件大小
*/
@Test
public void m05(){
File file = new File("D:\\學習視頻\\課堂講義.docx");
if(file.isFile()){
System.out.println(file.length());//輸出文件的字節大小
}
}
獲取文件路徑
/*
* 獲取文件路徑
*/
@Test
public void m06(){
File file = new File("D:\\File\\Test");
String path = file.getPath();
System.out.println("path:"+path);
String absolutePath = file.getAbsolutePath();
System.out.println("absolutePath:"+absolutePath);
File fpath = file.getAbsoluteFile();
System.out.println("fpath:"+fpath);
}
遞歸:
/*
* 遞歸:1+2+...+100
*/
@Test
public void m07(){
int count = add(0,100);
System.out.println("count:"+count);
}
public int add(int sum,int n){
sum += n;
n--;
if(n == 0){
return sum;
}else{
return add(sum,n);
}
}
利用遞歸去完成把一個目錄進行輸出(文件、目錄)
/*
* 利用遞歸去完成把一個目錄進行輸出(文件、目錄)
*/
@Test
public void m08(){
showDirectory(new File("D:\\學習視頻"));
}
public void showDirectory(File file){
File[] files = file.listFiles();
if(files.length == 0){
return;//終止方法
}
for(File tmp : files){
if(tmp.isFile()){
System.out.println("文件:"+tmp.getName());
}else if(tmp.isDirectory()){
System.out.println("目錄:"+tmp.getName());
showDirectory(tmp);
}
}
}
計算一個目錄的大小
/*
* 計算一個目錄的大小
*/
@Test
public void m09(){
showDirectorySize(new File("D:\\學習視頻"));
System.out.println("size:"+size);
}
private long size = 0;//初始化一個目錄的大小
public void showDirectorySize(File file){
if(file == null){//判斷要遍歷的目錄是否爲null
return;
}
File[] files = file.listFiles();
if(files.length == 0 || files == null){//判斷子目錄是否爲null或者沒有文件存在
return;
}
for(File tmp : files){
if(tmp.isFile()){
System.out.println("文件:"+tmp.getName());
size += tmp.length();
}else if(tmp.isDirectory()){
System.out.println("目錄:"+tmp.getName());
showDirectorySize(tmp);
}
}
}
請關注“知了堂學習社區”,地址:http://www.zhiliaotang.com/portal.php