0


java之文件读写

File类

  • 它是文件和目录路径名的抽象表示。
  • 文件和目录是可以通过File封装成对象的。
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的。

File类的构造方法

File(String pathname)//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(String parent,String child)//从父路径名字符串和子路径名字符串创建新的 File实例File(File parent,String child)//从父抽象路径名和子路径名字符串创建新的 File实例

创建功能

publicbooleancreateNewFile()
当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空
文件
publicbooleanmkdir()
创建由此抽象路径名命名的目录
publicbooleanmkdirs()
创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录

判断

publicbooleanisDirectory()
测试此抽象路径名表示的File是否为目录
publicbooleanisFile()
测试此抽象路径名表示的File是否为文件
publicbooleanexists()
测试此抽象路径名表示的File是否存在

获取

publicStringgetAbsolutePath() 返回此抽象路径名的绝对路径名字符串
publicStringgetPath()
将此抽象路径名转换为路径名字符串
publicStringgetName()
返回由此抽象路径名表示的文件或目录的名称
publicString[]list()
返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
publicFile[]listFiles()
返回此抽象路径名表示的目录中的文件和目录的File对象数组

删除

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

相对路径与绝对路径

  • 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\cast\java.txt
  • 相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\java.txt

IO流

IO流介绍
IO:输入/输出(Input/Output)流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载
IO流的分类

  • 按照数据的流向 输入流:读数据 输出流:写数据
  • 按照数据类型来分 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流
  • IO流的使用场景 如果操作的是纯文本文件,优先使用字符流如果操作的是图片、视频、音频等二进制文件。优先使用字节流如果不确定文件类型,优先使用字节流。字节流是万能的流

字节流写数据

voidwrite(int b)
将指定的字节写入此文件输出流 一次写一个字节数据
voidwrite(byte[] b)
将 b.length字节从指定的字节数组写入此文件输出流 一次写一个字节数组数据
voidwrite(byte[] b,int off,int len)
将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流 一次写一个字节数组的部分数据

小问题

如何实现换行?

  • windows中输入\r\n
  • inux:\n
  • mac:\r如何实现追加写入
publicFileOutputStream(String name,boolean append)
创建文件输出流以指定的名称写入文件。如果第二个参数为true ,则字节将写入文件的末尾而不是开头

关于异常处理

可以使用try{ finally{ }强制执行清除文件对象操作

try{
可能出现异常的代码;}catch(异常类名 变量名){
异常的处理代码;}finally{
执行所有清除操作;}

字节输入流

FileInputStream(String name):通过打开与实际文件的连接来创建一个FileInputStream ,该文件由文
件系统中的路径名name命名字节输入流读取数据的步骤
创建字节输入流对象调用字节输入流对象的读数据方法
释放资源

请添加图片描述
案例
请添加图片描述

请添加图片描述


本文转载自: https://blog.csdn.net/runofsun/article/details/122710181
版权归原作者 坚守初心,奔赴梦想 所有, 如有侵权,请联系我们删除。

“java之文件读写”的评论:

还没有评论