Java中File类的使用

文章封面
摘要: 一、File类常用API介绍内容见代码和注释package com.liuyanzhao;import java.io.File;import java.io.IOExc

一、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. }
120 阅读 ← 返回技术栈
图片放大