1. File常用的构造

  • File file = new File("字符串路径");

File f = new File("D:\\a\\b.txt");

  • File file = new File("父路径的字符串表现形式","子路径的字符串表现形式");

File f2 = new File("D:\\a","b.txt");

  • File file = new File(父路径的File对象,"子路径的字符串表现形式")

File parent = new File("D:\\a");

File f3 = new File(parent,"b.txt");

2. File创建功能

  • boolean createNewFile():指定路径不存在该文件时时创建文件,返回true,否则返回false
  • boolean mkdir():当指定的单级文件夹不存在时创建文件夹并返回true,否则返回false
  • boolean mkdirs():当指定的多级文件夹某一级文件夹不存在时,创建多级文件夹并返回true,否则返回false

注意事项:

         不要以扩展名去区分文件或者文件夹;

3. File的删除功能

  • boolean delete():删除文件或者删除单级文件夹

注意事项:

        1.如果文件夹里面还有内容,不能删除成功;

        2.不走回收站;

4.判断方法

  • boolean exists():判断指定路径的文件或文件夹是否存在
  • boolean isAbsolute():判断当前路路径是否是绝对路径
  • boolean isDirectory():判断当前的目录是否存在
  • boolean isFile():判断当前路径是否是一个文件
  • boolean isHidden():判断当前路径是否是隐藏文件

5.获取功能和修改名字功能

  • File getAbsoluteFile():获取文件的绝对路径,返回File对象
  • String getAbsolutePath():获取文件的绝对路径,返回路径的字符串
  • String getParent():获取当前路径的父级路径,以字符串形式返回该父级路径
  • File getParentFile():获取当前路径的父级路径,以字File对象形式返回该父级路径
  • String getName():获取文件或文件夹的名称
  • String getPath():获取File对象中封装的路径
  • long lastModified():以毫秒值返回最后修改时间
  • long length():返回文件的字节数
  • boolean renameTo(File dest): 将当前File对象所指向的路径 修改为 指定File所指向的路径

6.其他获取功能

  • String[] list():以字符串数组的形式返回当前路径下所有的文件和文件夹的名称
  • File[] listFiles():以File对象的形式返回当前路径下所有的文件和文件夹的名称
  • static File[] listRoots():获取计算机中所有的盘符

案例一:输出指定目录下所有的java文件名(包含子目录)

import java.io.File;

/*
* 需求:输出指定目录下所有的java文件名(包含子目录)
*/
public class RecurrenceTest {
public static void main(String[] args) {
File f = new File("src");
//File f = new File("src\\com\\itheima_01\\RecurrenceDemo.java");
method(f);
} public static void method(File file) {
if(file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
//判断是否是文件对象
if(f.isFile()) {
if(f.getName().endsWith(".java")) {
System.out.println(f.getName());
}
}
else if(f.isDirectory()){
//是一个目录对象
method(f);
}
}
}
} //输出指定目录下的所有java文件名(不包含子目录)
public static void method2(File file) {
if(file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
//判断是否是文件对象
if(f.isFile()) {
if(f.getName().endsWith(".java")) {
System.out.println(f.getName());
}
}
}
}
} }

案例二:删除指定的目录(包含子目录)

import java.io.File;

/*
* 需求:删除指定的目录(包含子目录)
*
* 注意:如果要删除一个目录,则需要先删除这个目录下的所有子文件和子目录
*
*/
public class RecurrenceTest2 {
public static void main(String[] args) {
File f = new File("d:\\a");
method(f);
} //删除指定目录下所有文件和目录
public static void method(File file) {
if(file.isDirectory()) {
//干掉自己所有的子文件和子目录
//获取所有的子文件和子目录
File[] files = file.listFiles();
for (File f : files) {
if(f.isFile()) {
//直接干掉他
System.out.println(f.getName());
f.delete();
}
else if(f.isDirectory()) {
//继续查看是否还有文件和子目录
method(f);
}
} //干掉自己
System.out.println(file.getName());
file.delete();
}
}
}

Java IO流操作(III)——File类&案例一:输出制定目录下所有java文件名(包含子目录)&案例二:删除指定的目录(包含子目录)的更多相关文章

  1. Java IO流中的File类学习总结

    一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...

  2. Java基础-IO流对象之File类

    Java基础-IO流对象之File类 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IO技术概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下 ...

  3. Java IO流操作汇总: inputStream 和 outputStream【转】

    我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...

  4. Java 基础(三)| IO流之使用 File 类的正确姿势

    为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 File 类? java ...

  5. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  6. java IO流技术 之 File

    IO流技术 概念:input - output 输入输出流: 输入:将文件读到内存中: 输出:将文件从内存中写出到其他地方 作用:主要就是解决设备和设备之间的数据传输问题. File :文件类的使用十 ...

  7. 01 语言基础+高级:1-8 File类与IO流_day08【 File类、递归】

    day08[File类.递归] 主要内容 File类 递归 教学目标 能够说出File对象的创建方式 能够说出File类获取名称的方法名称 能够说出File类获取绝对路径的方法名称 能够说出File类 ...

  8. java+++IO流操作

    序:IO流的操作主要分为两种读和写.一方面:我们可以通过不加缓冲类字符流BufferedReader/Writer和字节流BufferedInputStream/OutputStream来进行简单的读 ...

  9. IO流学习之File类

    File类 Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.就是把文件和目录转换成对象,读取到内 ...

随机推荐

  1. dom与jq基础使用

    js有两种运行环境,一个是浏览器,一个是服务器(NodeJS) js的本质是es,因为运行环境的不同,为了操作环境内的api做了升级 在浏览器上js分为es + dom + bom 在服务器上js又有 ...

  2. 014、MySQL取本月天数(这个月有多少天)

    #取本月天数 SELECT DATEDIFF( date_add( curdate( ) , INTERVAL MONTH ), DATE_ADD( curdate( ), INTERVAL DAY ...

  3. Java 的 String.split 函数,消除空字符串

    代码: String str = "the music made it hard to concentrate"; String delims = "[ ]+" ...

  4. mysql limit查询入门

  5. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-eject

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  6. uniapp 小程序实现自定义底部导航栏(tarbar)

    在小程序开发中,默认底部导航栏很难满足实际需求,好在官方给出了自定义形式,效果如下: 话不多说,直接上代码 1.组件 custom-tarbar.vue文件 <template> < ...

  7. netty权威指南学习笔记四——TCP粘包/拆包之粘包问题解决

    发生了粘包,我们需要将其清晰的进行拆包处理,这里采用LineBasedFrameDecoder来解决 LineBasedFrameDecoder的工作原理是它依次遍历ByteBuf中的可读字节,判断看 ...

  8. 11.swoole学习笔记--进程信号触发器

    <?php //触发函数--异步执行 swoole_process::signal(SIGALRM,function(){ ; echo "$i \n"; $i++; ){ ...

  9. Swift Json解析与model互转

    Json的解码与编码操作,这里使用swift自带的类JSONDecoder 和 JSONEncoder 1.基础处理 如果你的 JSON 数据结构和你使用的 Model 对象结构一致的话,那么解析过程 ...

  10. HDU 4862 JUMP 最小费用最大流

    2014 多校的B题,由于我不怎么搞图论,当时碰到这个题目,我怎么想都没往网络流方面弄,不过网络流真的是个好东西,对于状态多变,无法用动规或者数据结构来很好表示的时候,非常有用 这个题目要求每个点一定 ...