创建File

  isFile()、length()、exists()、createNewFile()、

  File.separator /

  isDirtory()、 mkdir()、mkdirs()、 delete()、

  listFiles()、FileFilter(){};

-------------------------------淫荡分隔----------------------------------

创建File文件对象

java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录。

File类只用于表示文件(目录)的信息(名称、大小等),换句话说只能访问文件或目录的相关属性,不能对文件的内容进行访问。

public class Filedemo1 {
public static void main(String[] args) {
// java.io.File 判断是否为文件
File file= new File("./1.txt"); boolean isFile = file.isFile();
if(isFile){
System.out.println("是一个文件");
}else{
System.out.println("不是一个文件");
} /*
* 查看文件占用的字节量 注意目录无大小
*
*/
long length =file.length();
System.out.println("占用"+length+"字节");
/*
* 查看File描述文件或目录是否为真实存在
*/
boolean exists = file.exists(); if(exists){
System.out.println("存在"); }else{
System.out.println("不存在");
}
}
class FileDemo2{
public static void main(String[] args) throws IOException {
/*
* 在当前项目根目录下创建文件test.txt
*
*/
//使用一个File对象描述该文件
// File.separator 代替/
File file= new File("."+File.separator+"2.txt");
//判断该文件是否在硬盘中不存在
if(!file.exists()){
//创建该文件
file.createNewFile();
}
System.out.println(file.exists());
}
}

File表示目录信息
1. isDirectory()

File的isDirectory方法用于判断当前File对象表示的是否为一个目录

2. mkdir方法

File的mkdir方法用于创建此抽象路径名指定的目录。其方法定义:
boolean mkdir()
返回值:当且仅当已创建目录时,返回 true;否则返回 false
3. mkdirs方法

File的mkdirs方法用于创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。其方法定义:
boolean mkdirs()
返回值:当且仅当已创建目录以及所有必需的父目录时,返回 true;否则返回 false

class FileDemo3{
public static void main(String[] args) {
/*
* 在当前目录下创建a/b/c目录
*
*/
File dir = new File("a"+File.separator+"b"+File.separator+"c"); if(!dir.exists()){
dir.mkdirs();
} System.out.println(dir.exists());
}
}

4. delete方法

在删除目录时要特别注意:需要保证此为空目录才可以成功删除(目录中不能含有任何子项)。
5. listFiles方法

File的listFiles方法用于返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。其方法定义:
File[] listFiles()
返回值:抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。

class FileDemo7{
public static void main(String[] args) {
/*
* 输出当前目录下的所有子项
*/
File dir =new File(".");
if(dir.isDirectory()){
//获取当前目录下的所有子项
File[] subs =dir.listFiles();
for(File sub : subs){
/*
* File 提供一个方法用于获取文件或目录的名字
* String getName()
*/
if(sub.isFile()){
System.out.println("文件"+ sub.getName());
}else{
System.out.println("目录"+ sub.getName()); } }
}
}
}

6. FileFilter接口

通过listFiles方法我们可以获取一个目录下的所有子项,但有些时候我们并不希望获取全部子项,而是想获取部分满足我们实际需求的子项时,我们可以使用File的重载方法:
File[] listFiles(FileFilter filter)
这里我们看到,该重载方法 要求我们传入一个参数,其类型是FileFilter。什么是FileFilter呢? FileFilter是用于抽象路径名的过滤器,说白了就是定义一个规律规则,那么结合listFiles方法,我们就可以将满足此过滤规则的子项返回,其他则忽略。
FileFilter是一个接口,所以当我们需要定义某种过滤规则时,我们可以定义一个类来实现这个接口,而此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。
例如:

File[] list = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().startsWith(".");
}
});
/**
* 获取一个目录下满足条件的子项
* @author Administrator
*
*/
class FileDemo9{
public static void main(String[] args) {
/*
* 获取当前目录下所有的文本文件
* 目标:获取名字是以txt结尾的
*/
File dir = new File(".");
FileFilter filter = new FileFilter() { /**
* 文件过滤器
*/ @Override
public boolean accept(File file) {
/*
* 该方法是用来检查参数File是否符合要求的、
* 符合返回true
*/
System.out.println("过滤子项:"+file.getName());
return file.getName().endsWith(".txt");
}
};
/*
* 重载的listFile 方法
* File[] listFile(FileFilter filter)
* 返回当前目录下满足给定过滤器条件的子项
*/
File[] subs= dir.listFiles(filter);
for(File sub: subs){
System.out.println(sub.getName());
}
}
}

该方法的参数FileFilter实例的accept方法并进行过滤,listFiles方法会将所有accept方法返回true的子项保留并返回。这个例子里我们会将dir中子项的名字以"."开头的返回。

Java文件操作——File的更多相关文章

  1. Java 文件操作-File

    1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的 ...

  2. java文件操作File类

    1.文件路径操作 测试方法 @Test public void test5() { StringBuffer succBuffer = new StringBuffer("D:\\home\ ...

  3. 14、Java文件操作stream、File、IO

    1.文件操作涉及到的基本概念 File File类 是文件操作的主要对象中文意义就是 文件 顾名思意 万物皆文件,在计算上看到的所有东西都是文件保存,不管是你的图片.视频.数据库数据等等都是按照基本的 ...

  4. JAVASE02-Unit06: 文件操作——File 、 文件操作—— RandomAccessFile

    Unit06: 文件操作--File . 文件操作-- RandomAccessFile java.io.FileFile的每一个实例是用来表示文件系统中的一个文件或目录 package day06; ...

  5. Java文件操作源码大全

    Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...

  6. Java 文件操作大全

    Java 文件操作大全 //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if (!myFolderPat ...

  7. JAVA文件操作类和文件夹的操作代码示例

    JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...

  8. java文件操作(普通文件以及配置文件的读写操作)

    转自:java文件操作(普通文件以及配置文件的读写操作) 读取普通文件 : /** * xiangqiao123欢迎你 如果对代码有疑问可以加qq群咨询:151648295 * * 读取MyFile文 ...

  9. Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比

    Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比: Unix/Linux (Bash) Windows(MS-DOS) Java 进入目录 cd cd - 创建 ...

随机推荐

  1. P3810 【模板】三维偏序(陌上花开)cdq分治

    传送门:https://www.luogu.org/problemnew/show/P3810 cdq分治的模板题,第一层外部排序,第二层cdq归并排序,这个时候不用考虑第一次的顺序,第三次用树状数组 ...

  2. 洛谷- P1306 斐波那契公约数 - 矩阵快速幂 斐波那契性质

    P1306 斐波那契公约数:https://www.luogu.org/problemnew/show/P1306 这道题目就是求第n项和第m项的斐波那契数字,然后让这两个数求GCD,输出答案的后8位 ...

  3. 10 UA池和代理池

    在Scrapy中,引擎和下载器之间有一个组件,叫下载中间件(Downloader Middlewares).因它是介于Scrapy的request/response处理的钩子,所以有2方面作用: (1 ...

  4. Git暂存本地代码,强制获取远程最新代码

    一:git stash  // 把本地修改的代码压到git栈中去 二:git pull  // 本地代码压栈之后,pull远程代码会完全覆盖本地代码 三:git stash list  // 可以查看 ...

  5. VUE中CSS样式穿透

    VUE中CSS样式穿透 1. 问题由来 在做两款H5的APP项目,前期采用微信官方推荐的weui组件库.后来因呈现的效果不理想,组件不丰富,最终项目完成后全部升级采用了有赞开发的vant组件库.同时将 ...

  6. VUE Node模式下,如何改变菜单的颜色,如何将超长文字缩略显示,在鼠标进入后展开全部显示,鼠标移出则恢复缩略显示

    VUE Node模式下,如何改变菜单的颜色,如何将超长文字缩略显示,在鼠标进入后展开全部显示,鼠标移出则恢复缩略显示: “事件”引起变量值的变化,系统引擎自动根据变量值的变化刷新页面 在VUE Nod ...

  7. Winform中跨窗体设置Zedgraph的属性并刷新曲线图

    场景 在使用ZedGraph时,经常有图形选项功能,设置曲线图相关属性后, 点击保存会设置另一个窗体的属性并刷新图. 效果 实现 在设置图形的选项的类中,声明委托和事件 //委托的定义 public ...

  8. hive内部表与外部表区别详细介绍

    问题导读:1.创建内部表与外部表的区别是什么?2.external关键字的作用是什么?3.外部表与内部表的区别是什么?4.删除表的时候,内部表与外部表有什么区别?5.load data local i ...

  9. Cookie的临时存储和定时存储

    Cookie解决了不同请求的数据共享问题.是由服务器保存在客户端的小文本文件,包含了用户的信息,可以避免用户重复输入用户名和密码进行登录.浏览器请求Cookie,服务器响应时返回Cookie,浏览器存 ...

  10. Hadoop入门 之 Hadoop常识

    1.Hadoop是什么? 答:Hadoop是开源的分布式存储和分布式计算平台. 2.Hadoop的组成是什么? 答:Hadoop由HDFS和MapReduce这两个核心部分组成. HDFS(Hadoo ...