当前位置: 首页 > article >正文

--- 文件IO java ---

文本文件和二进制文件

文件再底层其实就是以一段二进制数据的形式储存的,当我用记事本打开文件时,有些文件会出现乱码,这就是二进制文件,而有一些文件是特殊的,他以特定的编码方式(比如ascll)可以翻译为可阅读的信息,那就是文本文件 还有富文本类型,他不仅仅只储存文本内容,他还可以储存图片,字体颜色,字体大小等等多种信息

打开一个图片 zhe'jiu'shi

在Java中对文件的操作的方法

File类

创建一个File对象

传入file中的参数是文件所指的地址 这样写的话就是表示在相对路径下有个文件叫做book.txt

这就涉及到俩个名词 相对路径和绝对路径了

绝对路径:从根目录开始的逐级表示出来的唯一指向一个文件的路径

C:\Users\15328\OneDrive\桌面\files\gitee\add-bricks-and-tiles\class-java 这就是一个绝对路径

相对路径:根据你打开方式的不同他所指向的位置是不同的,具体的位置是取决于你这个项目所在的位置,他指向的就是这个项目的父目录的路径

比如上面的这个的相对路径

这里我打印了这个文件所在的位置

这是我项目所在的位置 

可以看到 book.text是存在的位置是和项目所在的位置是有相同的父目录 这时的基准目录就是

C:\Users\15328\OneDrive\桌面\files\gitee\add-bricks-and-tiles\class-java\fileIO\

对路径的操作符

./ 和 ../

 ./XXX 表示再当前基准路上有个XXX文件

假设基准路径是C:\hh 那么.\text.txt 指的位置就是C:\hh\text.txt

../ 表示的是基准路径的上一级

../text.txt  表示位置的就是 C:\text.txt

如果要表示的是向上多层的路径的话是使用  ../../../这样的形式 一次../ 表示向上一层

对于类方法的使用

getPath()        String返回文件的相对路径
getAbsolutePath()        String返回文件的绝对路径
exists()        String判断该文件或目录是否存在
getName()        String

返回文件的名字

isFile()        boolean判断是否为文件
isDirectory()        boolean判断是否为目录
createNewFile()        boolean创建一个新的文件,会抛出RuntimeException 异常
mkdir()        boolean创建一个目录,如果这个指向这个目录的父目录不存在,那么就会创建失败
mkdirs()        boolean

创建一个目录,不过如果父目录不存在的话,那么他就会把父目录也跟着一起创建了

比如 C:\aa\bb\cc 我在创建cc目录时 不存在C:\aa\bb这条路径那么就会把这条路径也给我创建好

delete()        boolean删除该文件
renameTo(File file1)        boolean相当于是剪切操作,创建这个传入的file1文件,再将当前的file对象复制到传入的file中,这是file1也就值得是之前的file文件,并删除file对象的这个文件,这是文件是不存在得了,但是file对这个路劲的引用依然存在,所以还是可以看到file的路径
list()        String[]返回一个字符数组,是该目录下的所有的文件的名字
list()        File[]返回一个文件数组,包含该目录下的所有文件
canRead()        boolea是否具有可读权限
canWrite()        boolean是否具有可写权限

下一篇 流

END


http://www.kler.cn/a/407623.html

相关文章:

  • Android开发实战班 - 数据持久化 - 数据加密与安全
  • uniapp 自定义popup 弹窗 简单封装(微信小程序)
  • EWA Volume Splatting
  • 介绍一下strset(arr,ch);(c基础)
  • leetcode 50个简单和中等难度的题
  • 高级编程之结构化代码
  • 【Linux驱动开发】irq中断配置API及中断应用 阻塞休眠和非阻塞的驱动操作
  • python安装包中的一些问题(三):加载 matplotlib 的过程中,调用了 Pillow(PIL 库)时发生了错误
  • 解决mfc100u.dll缺失问题,轻松恢复系统稳定
  • 【网格图】【刷题笔记】【灵神题单】
  • Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册
  • 【Linux】文件IO的系统接口 | 文件标识符
  • AutoDL安装docker问题
  • SHELL作业
  • CentOS 7 桌面版安装 cuda 12.4
  • linux基本命令(1)
  • Python Flask快速开发网站
  • 模板的用法
  • 2024数学建模亚太赛【C题】赛题详细解析
  • 经典战法【均线老鸭头】战法的机构构成,集中模型以及买卖操盘技术,技术要点图文详解
  • Oracle JDK(通常简称为 JDK)和 OpenJDK区别
  • Kafka - 消费者程序仅消费一半分区消息的问题
  • STM32 Nucleo-64 boards板卡介绍
  • 两个链表相交
  • Superset 二次开发之Superset技术栈分析
  • PCB上压接孔和过孔的孔径和公差要求相同,制造时有何影响