java文件读写操作实例详解
作者:坚守初心,奔赴梦想
java的io流读取数据使用io流读取文件和向文件中写数据,这篇文章主要给大家介绍了关于java文件读写操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
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() 删除由此抽象路径名表示的文件或目录
相对路径与绝对路径
- 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如: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 off, int len) 将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流 一次写一个字节数组的部分数据
小问题
如何实现换行?
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文件读写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!