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命名字节输入流读取数据的步骤
创建字节输入流对象调用字节输入流对象的读数据方法
释放资源
案例
版权归原作者 坚守初心,奔赴梦想 所有, 如有侵权,请联系我们删除。