File类的基本用法

  java.io.File类:代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到此类。

File类的常用构造方法:public File(String pathname)

  以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

文件的创建

import java.io.File;
import java.io.IOException; public class Test {
public static void main(String[] args) throws IOException {
System.out.println(System.getProperty("user.dir")); //输出当前工程的绝对路径
File f1 = new File("a.txt"); //相对路径,默认目录在System.out.println(System.getProperty("user.dir"));
boolean flag1 = f1.createNewFile();
System.out.println(flag1);
File f2 = new File("F:/b.txt"); //绝对路径
boolean flag2 = f2.createNewFile();
System.out.println(flag2);
}
}
//输出
G:\IntelliJ IDEA 2018.2.4\IdeaProjects
true
true

通过FIle类对象可以访问文件的属性:

  表8-3 File类访问属性的方法列表

通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

表8-4 File类创建文件或目录的方法列表

 递归遍历目录的所有文件

import java.io.File;
import java.io.IOException; public class Test {
public static void main(String[] args) throws IOException {
File f1 = new File("E:/系统");
printDir(f1,0);
}
public static void printDir(File file,int level){
for (int i = 0; i < level; i++) {
System.out.print("-");
}
System.out.println(file.getName());
if(file.isDirectory()){ //如果是目录
File files[] = file.listFiles(); //列出当前目录下的所有文件
for (int i = 0; i < files.length; i++) { //递归遍历当前目录下的所有文件
printDir(files[i],level+1);
}
} }
}
//输出
系统
-W10系统
--UserData
---Desktop
----desktop.ini
---desktop.ini
---Documents
----desktop.ini
----My Music
----My Pictures
----My Videos
---Downloads
----desktop.ini
---Favorites
----desktop.ini
---Music
----desktop.ini
---Pictures
----desktop.ini
---Videos
----desktop.ini
---本目录为用户数据文件,请勿删除
--Windsys_Win10_Pro_1709_X64_V1.5_180226_EasyDrv.wim
--上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C}
-W10系统.rar
-Win7(32位).rar
-Win7(64位).rar

最新文章

  1. Java开发web的几种开发模式
  2. js控制 input框中输入数字时,累计求和
  3. 数据库MongoDB查询语句--持续更新
  4. MySQL重复数据
  5. socket的心跳包机制
  6. JavaScript- 获得TreeView CheckBox里选中项的值
  7. hdu 4454 Stealing a Cake
  8. 一段代码让你秒懂java方法究竟是传值还是传地址
  9. DateTimePicker.Text不靠谱
  10. 关于&quot;软件评测师&quot;
  11. arcgis api for js入门开发系列二十打印地图的那些事
  12. UNIX DOMAIN SOCKET效率
  13. DAY30、网络编程
  14. Oracle 的开窗函数 rank,dense_rank,row_number
  15. c++11のunique_lock和once_flag
  16. C#基础零碎知识点摘录
  17. JS实现简单斗地主效果
  18. ajax文件上传-FormData()
  19. 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置
  20. java 对一个字符串去重,即去掉字符串内重复元素

热门文章

  1. C++使用 new 声明动态数组
  2. [人物存档]【AI少女】【捏脸数据】1224今日份的推荐
  3. C# 输出双引号
  4. C# 选择文件夹 选择文件
  5. Akka 介绍
  6. sqli-labs(42)
  7. 【Java基础】谈谈集合.List
  8. SpringMVC详解一、@RequestMapping注解与Controller接收参数
  9. TensorFlow线性回归
  10. 4.数据挖掘的数据仓库与OLAP技术