java如何实现文件读写操作
这篇文章将为大家详细讲解有关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如何实现文件读写操作"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。