File 类
1、文件流:文件在程序中是以流形式来操作的
2、Java 程序(内存) -> 输入流 -> 文件(磁盘);文件(磁盘)-> 输出流 -> Java 程序(内存)
(1)流:数据在数据源(文件)和程序(内存)之间经历的路径
(2)输入流:数据从数据源(文件)到程序(内存)的路径
(3)输出流:数据从程序(内存)到数据源(文件)的路径
创建 File 对象
1、构造器,使内存产生文件
(1)通过将给定的路径名字符串转换为抽象路径名来创建新的 File 对象
public File(String pathname)
(2)由父路径名字符串和子路径名字符串创建新的 File 对象,与(1)同
public File(String parent, String child)
(3)由父抽象路径名和子路径名字符串创建新的 File 对象
public File(File parent, String child)
2、将文件写入磁盘
(1)当且仅当具有该名称的文件尚不存在时,创建一个由该抽象路径名命名的新的空文件
public boolean createNewFile() throws IOException
3、例
String pathName = "e:\\file.txt";
File file = new File(pathName);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
String parent = "e:\\";
String child = "file.txt";
File file = new File(parent, child);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
File parent = new File("e:\\");
String child = "file.txt";
File file = new File(parent, child);
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
获取 File 对象相关信息
1、返回由此抽象路径名表示的文件或目录的名称,这只是路径名称序列中的最后一个名字,如果路径名的名称序列为空,则返回空字符串
public String getName()
2、返回此抽象路径名的父路径名的字符串,如果此路径名未命名为父目录,则返回 null
public String getParent()
3、返回此抽象路径名的父抽象路径名,如果此路径名未命名为父目录,则返回 null
public File getParentFile()
4、将此抽象路径名转换为路径名字符串
public String getPath()
5、返回此抽象路径名的绝对路径
public File getAbsoluteFile()
6、返回此抽象路径名的绝对路径名的字符串
public String getAbsolutePath()
7、返回由此抽象路径名表示的文件的大小(以 byte 为单位)
public long length()
8、测试此抽象路径名表示的文件或目录是否存在
public boolean exists()
9、测试此抽象路径名表示的文件是否为普通文件,Java 应用程序创建的任何非目录文件都保证是一个普通文件
public boolean isFile()
10、测试此抽象路径名表示的文件是否为目录
public boolean isDirectory()
目录操作、文件删除
1、Java 程序中,目录被视作文件
2、删除由此抽象路径名表示的文件或目录,如果此路径名表示目录,则目录必须为空才能删除
public boolean delete()
3、创建由此抽象路径名命名的一级目录,该目录被创建时,返回 true;否则,返回 false
public boolean mkdir()
4、创建由此抽象路径名命名的多级目录,包含的所有目录必须未创建,该目录被创建时,返回 true;只要存在任何一级目录,返回 false
public boolean mkdirs()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战