java文件读写操作实例详解
目录
- File类
- File类的构造方法
- 创建功能
- 判断
- 获取
- 删除
- IO流
- 字节流写数据
- 小问题
- 总结
File类 它是文件和目录路径名的抽象表示。
文件和目录是可以通过File封装成对象的。
对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的。
File类的构造方法
File(String pathname)//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(String parent, String child) //从父路径名字符串和子路径名字符串创建新的 File实例File(File parent, String child) //从父抽象路径名和子路径名字符串创建新的 File实例
创建功能
public boolean createNewFile()当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件public boolean mkdir()创建由此抽象路径名命名的目录public boolean mkdirs()创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录
判断
public boolean isDirectory()测试此抽象路径名表示的File是否为目录public boolean isFile()测试此抽象路径名表示的File是否为文件public boolean exists()测试此抽象路径名表示的File是否存在
获取
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串public String getPath()将此抽象路径名转换为路径名字符串public String getName()返回由此抽象路径名表示的文件或目录的名称public String[] list()返回此抽象路径名表示的目录中的文件和目录的名称字符串数组public File[] listFiles()返回此抽象路径名表示的目录中的文件和目录的File对象数组
删除
public boolean delete()删除由此抽象路径名表示的文件或目录
【java文件读写操作实例详解】相对路径与绝对路径
- 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\cast\java.txt
- 相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\java.txt
IO流 IO流介绍
IO:输入/输出(Input/Output)流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载
IO流的分类
- 按照数据的流向
输出流:写数据
- 按照数据类型来分
字节输入流
字节输出流
字符流
字符输入流
字符输出流
- IO流的使用场景
字节流写数据
void write(int b)将指定的字节写入此文件输出流 一次写一个字节数据void write(byte[] b)将 b.length字节从指定的字节数组写入此文件输出流 一次写一个字节数组数据void write(byte[] b, int o?, int len)将 len字节从指定的字节数组开始,从偏移量o?开始写入此文件输出流 一次写一个字节数组的部分数据
小问题 如何实现换行?
windows中输入\r\n
inux:\n
mac:\r
如何实现追加写入
public FileOutputStream(String name,boolean append)创建文件输出流以指定的名称写入文件。如果第二个参数为true ,则字节将写入文件的末尾而不是开头
关于异常处理
可以使用try{ finally{ }强制执行清除文件对象操作
try{字节输入流
可能出现异常的代码;
}catch(异常类名 变量名){
异常的处理代码;
}finally{
执行所有清除操作;
}
FileInputStream(String name):通过打开与实际文件的连接来创建一个FileInputStream ,该文件由文
件系统中的路径名name命名字节输入流读取数据的步骤
创建字节输入流对象调用字节输入流对象的读数据方法
释放资源
文章图片
案例
文章图片
文章图片
总结 到此这篇关于java文件读写操作的文章就介绍到这了,更多相关java文件读写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- java中如何实现重建二叉树
- 使用composer自动加载类文件
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组