Java IO学习--File类
一、File类
File类具备一定的误导性,可能容易认为它指代的是文件,实际并非如此,它既能代表一个特定文件的名称,又能表示一个目录下一组文件的名称。简而言之,File类是文件或者目录路径名的抽象表示,可以帮助我们处理文件目录的问题。
注意:File类只能操作文件的属性,文件的内容它是无法操作的,需要借助流才能操作。
二、File类的使用
public class FileDemo {
public static void main(String[] args) {
File file2 = new File("E:\\test\\a.txt");//特别需要注意,这样的路径形式在windows下有效
File file3 = new File("E:\\test");//通过路径构建File
File file4 = new File("E:","test");//从父类路径和子类路径名构建File
File file5 = new File(file3,"a.txt");//从父类File和子类路径名构建File
System.out.println(file2);
System.out.println(file3);
System.out.println(file4);
System.out.println(file5);
System.out.println(File.separator);//连续多个路径字符串的分隔符
System.out.println(File.pathSeparator);//分隔同一个路径字符串中的目录的
File[] files = File.listRoots();
for (File file : files) {
System.out.println(file);
}
}
}
结果输出:
E:\test\a.txt
E:\test
E:\test
E:\test\a.txt
\
;
C:\
D:\
E:\
F:\
三、File类常用方法
①、创建方法
1.boolean createNewFile() 根绝给定的path创建文件,不存在返回true 存在返回false
2.boolean mkdir() 创建目录,如果上一级目录不存在,则会创建失败
3.boolean mkdirs() 创建多级目录,如果上一级目录不存在也会自动创建
②、删除方法
1.boolean delete() 删除文件或目录,如果表示目录,则目录下必须为空才能删除
2.boolean deleteOnExit() 文件使用完成后删除
③、判断方法
1.boolean canExecute()判断文件是否可执行
2.boolean canRead()判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件或目录是否存在
5.boolean isDirectory() 判断此路径是否为一个目录
6.boolean isFile() 判断是否为一个文件
7.boolean isHidden() 判断是否为隐藏文件
8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
④、获取方法
1.String getName() 获取此路径表示的文件或目录名称
2.String getPath() 将此路径名转换为路径名字符串
3.String getAbsolutePath() 返回此抽象路径名的绝对形式
4.String getParent()//如果没有父目录返回null
5.long lastModified()//获取最后一次修改的时间
6.long length() 返回由此抽象路径名表示的文件的长度。
7.boolean renameTo(File f) 重命名由此抽象路径名表示的文件。
8.File[] liseRoots()//获取机器盘符
9.String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
10.String[] list(FilenameFilter filter) 返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。
具体的使用如下(挑选几个常用的):
public class FileDemo2 {
public static void main(String[] args) {
File file = new File("E:\\test.txt");
try {
//创建文件
System.out.println(file.exists());//判断文件是否存在
System.out.println(file.createNewFile());//创建文件,空文件,大小为0
System.out.println(file.exists());//判断文件是否存在
//获取文件相关属性
System.out.println(file.length());//文件大小
System.out.println(new Date(file.lastModified()));//文件最后修改时间
System.out.println(file.getName());//获取文件名
System.out.println(file.getPath());//获取文件路径
System.out.println(file.getAbsolutePath());//获取绝对路径
System.out.println(file.getParent());//获取父路径
System.out.println(file.getParentFile());//获取父File
//判断文件的相关特点
System.out.println(file.canExecute());//能否执行
System.out.println(file.canRead());//能否读写
System.out.println(file.canWrite());//能否读写
System.out.println(file.isFile());//是否是文件
System.out.println(file.isHidden());//是否是隐藏文件
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果输出:
false
true
true
0
Tue Jul 10 21:47:32 CST 2018
test.txt
E:\test.txt
E:\test.txt
E:\
E:\
true
true
true
true
false
Java IO学习--File类的更多相关文章
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- java io包File类
1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对 ...
- JAVA:IO流——File类
1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...
- java IO之 File类+字节流 (输入输出 缓冲流 异常处理)
1. File类
- Java IO流-File类
2017-10-24 23:50:22 File类 File类:文件和目录路径名的抽象表示形式.该文件或者目录不一定真实存在. * 构造方法 File类有四种构造方法,主要采用的构造方法师第二种,也就 ...
- Java IO(一)--File类
File类不是单指文件,它既可以代表一个文件名称,又可以代表一个目录下的一组文件.可以用来创建.删除.遍历文件等 public static void main(String[] args) { St ...
- Java IO流-File类的使用示例-创建文件夹和文件的正确方法
当创建一个文件时,比如:E:\\test\\test.txt,此时若文件夹test不存在,那么直接创建文件会出错,故首先要判断文件夹是否存在,不存在的话要首先创建文件夹. public class F ...
- Java学习之IO之File类一
File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...
- Java IO学习笔记总结
Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamW ...
随机推荐
- js控件设置只读属性和不可用属性
介绍js实现只读的几种方法: 设置控件只读的话,我们要先清楚哪些没有readOlny这个属性 我知道的checkbox和RadioButton没有readOlny这个属性,我上一篇已经介绍了如何设置c ...
- Android学习笔记_57_ExpandableListView控件应用
1.布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...
- ADO.NET 之 Entity Framework 基础
Entity Framework(EF)是使用直接映射到应用程序中业务对象的对象模型于关系数据库进行交互.它没有将数据视为行和列的集合,而是将其视为强类型对象(成为实体)的集合. 术语:LinQ to ...
- 全局变量&局部变量&Static存储&Register变量
1.局部变量 局部变量也称为内部变量.局部变量是在函数内作定义说明的.其作用域仅限于函数内:函数的形参就是局部变量: 2.全局变量 全局变量也称为外部变量,它是在函数外部定义的变量.全局变量的说明符为 ...
- Spring知识点总结(四)之SpringAOP基础
1. Spring aop中的基本概念 • 连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候.在Spring AOP中,一个连接 ...
- 工作流,WEB框架,UI组件网络收集整理
工作流,WEB框架,UI组件网络收集整理 在博客园上逛了好多年,随手收录了一些工作流,WEB开发框架,UI组件,现在整理一下与大家分享. 由于个人能力与精力有限,望各位园友在评论中补充,我将全部整理到 ...
- UDP端口启动后一段时间无法接收到数据
接口需求:开发一个UDP协议的接口作为服务端接收来自客户端的认证数据,数据量每分钟7w+条; 数据格式:标准的redius协议,redius协议的相关知识在网上查资料,提供线索:http://blog ...
- iOS开发- 获取本地视频文件
下面具体介绍下实现过程.先看效果图.图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 图3. 实现功能后, 运行截图 好了, 通过图片, 我们可以看到实现的效果.功能包 ...
- [NOI2015]程序自动分析(并查集)
题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变 ...
- 【解决】docker 容器中 consul集群问题处理
现象描述: node1 和node2 日志反复出现 add remove node3节点. node3 节点 一直 驳回 node1 和node2 认为node3已经dead的消息 不断重启se ...