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. Day6 - K - 陌上花开 HYSBZ - 3262

    有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美丽,当且仅Sa>= ...

  2. Codeforces735D Taxes(哥德巴赫猜想)

    题意:已知n元需缴税为n的最大因子x元.现通过将n元分成k份的方式来减少缴税.问通过这种处理方式需缴纳的税费. 分析: 1.若n为素数,不需分解,可得1 2.若n为偶数,由哥德巴赫猜想:一个大于2的偶 ...

  3. POJ 2142:The Balance

    The Balance Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4781   Accepted: 2092 Descr ...

  4. django 实现 内网访问 和 用花生壳进行内网穿透

    1.在setting.py中找到  ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*',]2.启动服务时使用如下命令行 python .\manage.py runs ...

  5. 开源DDD设计模式框架YMNNetCoreFrameWork第二篇-增加swagger,数据库迁移,增加权限模型

    1.框架去掉application层,把HOst作为application层 2.增加swagger插件 3.增加Asp.net  Identity身份验证 源代码地址:https://github. ...

  6. 四十三、在SAP中初始化勾选值

    一.上代码 二.运行时,勾选框会被自动勾选中 三.表单如下

  7. [转]SparkSQL的自适应执行---Adaptive Execution

    1 背景 本文介绍的 Adaptive Execution 将可以根据执行过程中的中间数据优化后续执行,从而提高整体执行效率.核心在于两点 执行计划可动态调整 调整的依据是中间结果的精确统计信息 2 ...

  8. Spark RDD 算子总结

    Spark算子总结 算子分类 Transformation(转换) 转换算子 含义 map(func) 返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成 filter(func) ...

  9. CMD手动打jar包

    代码: jar -cvfM "jarpage.jar" @fileslist.txt 解析: 将文档(fileslist.txt)中所有路径对应文件打成jar包,取名为:jarpa ...

  10. Android 为控件添加点击涟漪效果

    Android在5.0版为Button默认添加了点击时的涟漪效果,而且在其他的控件上也可以轻松的实现这种炫酷的效果.涟漪效果可以分为两种,一种时有边界的涟漪,另一种时无边界的涟漪.所谓的有边界,即涟漪 ...