Java中File类的使用


一、File类常用API介绍

内容见代码和注释

 
  1. package com.liuyanzhao;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. /*
  7.  *
  8.  * @author WellsLiu
  9.  *
  10.  */
  11.  
  12. public class Test {
  13.     public static void main(String[] args) {
  14.         //1.创建一个文件夹对象
  15.         File file = new File("F:\\桌面\\music");
  16.         //判断文件是否存在
  17.         System.out.println(file.exists());//true
  18.         //如果文件夹不存在创建之,否则删除之
  19.         if(!file.exists())
  20.             file.mkdir();//创建文件夹
  21.         //else 
  22.             //file.delete();
  23.         //是否是一个目录
  24.         System.out.println(file.isDirectory());//true
  25.         //是否是一个文件
  26.         System.out.println(file.isFile());//false
  27.  
  28.         //2.创建一个文件对象
  29.         File file2 = new File("F:\\桌面\\music\\1.mp3");
  30.         System.out.println(file.exists());
  31.         //如果文件不存在创建之,否则删除   之
  32.         if(file2.exists())
  33.             try {
  34.                 file2.createNewFile();
  35.             } catch (IOException e) {
  36.                 e.printStackTrace();
  37.             }
  38.         //else 
  39.             //file2.delete();
  40.  
  41.         //3.常用的File对象API
  42.         System.out.println(file);//file.toString()的内容,F:\桌面\music
  43.         System.out.println(file.getAbsolutePath());//file的绝对路径F:\桌面\music
  44.         System.out.println(file.getName());//music
  45.         System.out.println(file2.getName());//1.mp3
  46.         System.out.println(file.getParent());//F:\桌面
  47.     }
  48. }

 

二、遍历目录

 
  1. package com.liuyanzhao;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. /*
  7.  *
  8.  * @author WellsLiu
  9.  *
  10.  */
  11.  
  12. //列出File类一些常用操作比如过滤、遍历等操作
  13. class FileUtils {
  14.  
  15.     //列出指定目录下(包括子目录)的所有文件
  16.     public static void listDirectory(File dir) throws IOException{
  17.         if(!dir.exists()) {
  18.             throw new IllegalArgumentException("目录"+dir+"不存在");
  19.         }
  20.         if(!dir.isDirectory()) { //判断File类的对象是否为文件夹
  21.             throw new IllegalArgumentException(dir+"不是目录");
  22.         }
  23.         /*
  24.         //1.输出dir目录下的一级文件夹和文件
  25.         String [] filenames = dir.list();//返回的是字符串数组 直接子名称
  26.         for (String string : filenames) {
  27.             System.out.println(dir+"\\"+string);//dirstring是文件或文件夹名
  28.         }
  29.         */
  30.  
  31.         //2.如果要遍历子目录下的目录及所有文件,就需要构造File对象做递归操作
  32.         File[] files = dir.listFiles();//返回的是直接子目录(文件)的抽象
  33.         if(files!=null&&files.length>0) {
  34.             for(File file:files) {
  35.                 if(file.isDirectory()) {
  36.                     //递归
  37.                     listDirectory(file);
  38.                 } else {
  39.                     System.out.println(file);
  40.                 }
  41.  
  42.             }
  43.         }
  44.     }
  45. }
  46.  
  47. public class Test1 {
  48.     public static void main(String[] args) throws IOException{
  49.         FileUtils.listDirectory(new File("C:\\Users\\Liu_Yanzhao"));
  50.     }
  51. }

0 条评论

当前评论已经关闭


登录用户头像