--- 文件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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/922018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux各种并发服务器优缺点

本文旨在介绍针对“无并发C/S模型”改进的方法总结以及各种改进方法的优缺点,具体函数的实现并不介绍。 1. 无并发C/S模型 创建服务器流程分析: socket()创建服务器的监听套接字bind()将服务器给服务器的监听套接字绑定IP地址和Port端口号listen()设置…

Perforce《2024游戏技术现状报告》Part3:生成式AI、版本控制、CI/CD等游戏技术的未来趋势与应用

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注,正在改变着组织进行数字创作的方式。 近期,Perforce发布了《2024游戏技术现状报告》,通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

18.嵌入式QT开发环境找不到标准文件的问题(stdio.h)

前言 程序可以正常编译通过,但是总提示找不到标准头文件,问题如下: 1.QT找不到标准文件的位置报错. 在LED_and_TempHumi.pro中添加以下语句 INCLUDEPATH /home/book/buildroot-100ask_t113-pro/buildroot/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/include

Qt界面设计时使各控件依据窗口缩放进行栅格布局的方法

图1 最终效果 想要达成上述图片的布局效果,具体操作如下: 新建一窗体: 所需控件如下: Table View控件一个; Group Box控件一个; Push Button控件2个; Horiziontal Spacer控件2个&#xf…

使用ENSP实现DHCP

一、项目拓扑 二、项目实现 将信息提示改为中文 language-mode chinese确认 y 进入系统试图 sys将交换机命名为SW1 sysname SW1关闭信息中心 undo info-center enable 创建valn10 vlan20 vlan batch 10 20进入vlan10虚拟接口 int vlanif 10将vlan10虚拟接口IP地址配置为192.16…

CANDENCE: 绘制好的封装元件 刷新(Refresh) 和 替换 (Replace)焊盘

绘制好的封装元件 刷新(Refresh) 和 替换 (Replace)焊盘 一、刷新(Refresh) 1、以下面这个bga484封装的元件为例 2、打开bga的焊盘文件 3、我们对上面这个焊盘稍加修改,如下,然后保存 4、在封装编辑页面,如下操作 5…

【学术讲座】视觉计算中的深度学习方法 AIGC图像视频生成模型的推理加速

视觉计算中的深度学习方法 发展历程 backbone 强化学习、LLM等:有监督 && 无监督的结合 目标检测 图像分割 网络结构搜索 搜索方法 1:强化学习 2:强化学习 3:梯度算法 结构选择的作用 1:开放环境感知网络…

摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现

随着科技的不断进步,摄像机视频分析软件的发展已经为我们的生活带来了许多便捷。其中,LiteAIServer视频智能分析平台的玩手机打电话检测算法技术尤为突出,它利用先进的图像处理和人工智能技术,能够自动识别并监控视频中的玩手机或…

基于UDP和TCP实现回显服务器

目录 一. UDP 回显服务器 1. UDP Echo Server 2. UDP Echo Client 二. TCP 回显服务器 1. TCP Echo Server 2. TCP Echo Client 回显服务器 (Echo Server) 就是客户端发送什么样的请求, 服务器就返回什么样的响应, 没有任何的计算和处理逻辑. 一. UDP 回显服务器 1. UD…

DICOM核心概念:显式 VR(Explicit VR)与隐式 VR(Implicit VR)在DICOM中的定义与区别

在DICOM(Digital Imaging and Communications in Medicine)标准中,VR(Value Representation) 表示数据元素的值的类型和格式。理解显式 VR(Explicit VR)与隐式 VR(Implicit VR&#…

安卓应用安装过程学习

声明:此文章来自http://shuwoom.com/?p60的学习记录 启动式安装 public static final IPackageManager main(Context context, Installer installer,boolean factoryTest, boolean onlyCore) {PackageManagerService m new PackageManagerService(context, inst…

基于Java Springboot医疗垃圾分类系统

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库:…

SQL99版全外连接和交叉连接和总结

全外连接MySQL不支持 elect 查询列表 from 表名1 表别名1 cross join 表名2 表别名2 on 连接条件 ...... ; 交叉连接 就两个记录做笛卡尔积!没什么好说的,基本也没用过! 总结

推荐一款开源电子书阅读器Koodo Reader

Koodo Reader 是一个开源的电子书阅读器,支持多达15种主流电子书格式, 内置笔记、高亮、翻译功能,助力高效书籍阅读和学习。 官网地址:https://www.koodoreader.com/zh 一、下载软件 下载地址:https://dl.koodoreader.…

WebStorm 2024.3/IntelliJ IDEA 2024.3出现elementUI提示未知 HTML 标记、组件引用爆红等问题处理

WebStorm 2024.3/IntelliJ IDEA 2024.3出现elementUI提示未知 HTML 标记、组件引用爆红等问题处理 1. 标题识别elementUI组件爆红 这个原因是: 在官网说明里,才版本2024.1开始,默认启用的 Vue Language Server,但是在 Vue 2 项目…

Harbor2.11.1生成自签证和配置HTTPS访问

文章目录 HTTPS的工作流程部署Harbor可参考上一篇文章生成自签证书1.修改/etc/hosts文件2.生成证书a.创建存放证书路径b.创建ca.key密钥c.创建ca.crtd.创建给Harbor服务器使用密钥 yunzhidong.harbor.com.keye.创建给Harbor服务器使用证书签名请求文件 yunzhidong.harbor.com.c…

【深度学习之二】正则化函数(weight decay, dropout, label smoothing, and etc)详解,以及不同的函数适用的场景

在深度学习中正则化函数的重要性不言而喻,今天主要总结一些当前常用的一些正则化函数 在深度学习中,正则化(Regularization)是一种防止模型过拟合的技术。过拟合指的是模型在训练数据上表现很好,但在未见过的测试数据…

uni-app 修改复选框checkbox选中后背景和字体颜色

编写css(注意:这个样式必须写在App.vue里) /* 复选框 */ /* 复选框-圆角 */ checkbox.checkbox-round .wx-checkbox-input, checkbox.checkbox-round .uni-checkbox-input {border-radius: 100rpx; } /* 复选框-背景颜色 */ checkbox.checkb…

Ngrok实现内网穿透(Windows)

Ngrok实现内网穿透(Windows) 什么是内网穿透,内网穿透有什么用 内网穿透(NAT traversal)是一种技术手段,使得位于内网或防火墙后面的设备能够通过外网访问。例如,如果你的计算机、服务器等设备…

Simulink中Model模块的模型保护功能

在开发工作过程中,用户为想要知道供应商的开发能力,想要供应商的模型进行测试。面对如此要求,为了能够尽快拿到定点项目,供应商会选择一小块算法或是模型以黑盒的形式供客户测试。Simulink的Model模块除了具有模块引用的功能之外&…