Java中File类的使用

一、File类常用API介绍

内容见代码和注释

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

 

二、遍历目录

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

发表评论 取消回复