java文件读写操作实例详解

网友投稿 282 2022-08-30


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()

删除由此抽象路径名表示的文件或目录

相对路径与绝对路径

绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如: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命名字节输入流读取数据的步骤创建字节输入流对象调用字节输入流对象的读数据方法释放资源

案例

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python中Django框架使用总结(python之django框架前端与后端的结合)
下一篇:Java通过值查找对应的枚举的实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~