javaIO学习

IO流概述

File文件类 : 既可以表示一个文件,也可以表示一个文件目录

文件在java语言中也是一种对象

File类有三种构造器

1.new File(String filePath); //filePath:文件路径 注意:文件路径分为相对路径和绝对路径 在IDEA中相对路径是在main方法中是project下 在@Test方法中是 Module下 而在eclipse中都是在project下
例如 File f1 = new File1("D/hello");

2.new File(String parentPath,String childPath): //parentPath:要new的文件的上一层目录 childPath:要new的文件名字
例如 File f2 = new File1("D/hello","你好.txt");
 

3.new File(File parentFile,String childPath);//parentPath:要new的文件的上一层目录(不过这里以File出现了) childPath:要new的文件名字
例如 File f3 = new File1(f1,"你好.txt");

File类的常用方法

File类的获取功能
public String getAbsolutePath():获取绝对路径
public String getPath():获取路径
public String getName():获取名称
public String getParent():获取上层文件目录路径。若无,返回null
public long length():获取文件长度(即:字节数)。不能获取目录的长度。
public long lastModified():获取最后一次的修改时间,毫秒值
public Stringl] list():获取指定目录下的所有文件或者文件目录的名称数组
如下的方法适用文件目录
public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组File类的重命名功能

File类的重命名功能
public boolean renameTo(File dest):把文件重命名为指定的文件路径
比如: file1.renameTo(fiLe2)为例:
要想保证返回true,需要fiLe1在硬盘中是存在的,且fiLe2不能在硬盘中存在。

File类的判断功能
public boolean isDirectory():判断是否是文件目录
public boolean isFile():判断是否是文件
public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWrite():判断是否可写
public boolean isHidden() :判断是否隐藏


File类的创建功能
public boolean createNewFile():创建文件。若文件存在,则不创建,返回false
public boolean mkdir():创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。

public boolean mkdirs():创建文件目录。如果上层文件目录不存在,一并创建
注意事项:如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。

File类的删除功能
public boolean delete():删除文件或者文件夹删除注意事项:

Java中的删除不走回收站。
要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录

IO流

这里的输入输入都是相对于内存来说

字符流的基类

输出流 输入流
Reader Writer

字节流的基类

输出流 输入流
OutputStream InputStream

输入、输出的标准化过程
1 输入过程
① 创建File类的对象,指明读取的数据的来源。(要求此文件一定要存在)
② 创建相应的输入流,将File类的对象作为参数,传入流的构造器中
③ 具体的读入过程:
创建相应的byte[] 或 char[]。
④ 关闭流资源
说明:程序中出现的异常需要使用try-catch-finally处理。

2 输出过程
① 创建File类的对象,指明写出的数据的位置。(不要求此文件一定要存在)
② 创建相应的输出流,将File类的对象作为参数,传入流的构造器中
③ 具体的写出过程:
write(char[]/byte[] buffer,0,len)
④ 关闭流资源
说明:程序中出现的异常需要使用try-catch-finally处理。

常运用的模板

FileInputStream fis = new FileInputStream(new File("要传输的文件")) ;
FileOutputStream fos = new FileOutputStream(new File("传输目文件")) ;
int len;//定义读取长度
byte[] b = new byte[1024];//定义搬运数组的
for((len = fis.read(b))!=-1 ){ //read(b):将读取b大小的文件并存入b数组中 返回读取数据的大小 然后用len记录大小,len不等于-1时,就代表数据没有读取完,将一直循环到len为-1
 fos.writer(b,0,len)// 读取b从0开始的指定字节数组写入len字节到文件输出流
}
posted @   轻封侯  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示