JAVAEE初阶 文件IO(一)

这里写目录标题

    • 一. 计算机中存储数据的设备
      • 1.1 CPU
      • 1.2 内存
      • 1.3 硬盘
      • 1.4 三种存储的区别
    • 二.文件系统
      • 2.1 相对路径
      • 2.2 绝对路径
      • 2.3 .和..的含义
      • 2.4 例子
      • 2.5 everything工具
    • 三.文件
      • 3.1 文本文件
      • 3.2 二进制文件
    • 四. JAVA对于文件的API
      • 4.1 getParent getName getPath getAbsolutePath方法
      • 4.2 exists isFile isDirectory
      • 4.3 createNewFile delete deleteOnExit方法
      • 4.4 list listFiles
      • 4.5 mkdir mkdirs

一. 计算机中存储数据的设备

1.1 CPU

CPU是Central Processing Unit中央处理器的简称,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。

1.2 内存

内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行

1.3 硬盘

硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料

1.4 三种存储的区别

在这里插入图片描述

二.文件系统

2.1 相对路径

所谓的相对目录,就是先指定一个当前目录,以此为基准,来找到相应的目录

2.2 绝对路径

从树的根节点出发(盘符) ,一层一层的找到相应的目录.

2.3 .和…的含义

一个.就代表当前目录
两个.代表上一级目录

2.4 例子

我们在电脑中创建一个test.txt的文件,我的目录是D:\test\io
假设我们当前的目录是D:\test\io 那么我们要找到该文件相对路径是***./test.txt***
假设我们当前的目录是D:\test 那么找到文件的相对路径就是 ./io/test.txt
假设我们当前的目录是D:\test\io\appData 那么找到该文件路径就是***…/test.txt***

2.5 everything工具

everything工具讲究的是用"空间换时间",它会在安装之时,将电脑的内容全部遍历一次,将信息全部建立,存储到自己的数据库中, 在以后搜索的时候,就不是遍历,而是查找,效率高很多, 缺点就是会窥探自己电脑的信息.

三.文件

3.1 文本文件

所谓的文本文件,就是按照字符串的内容来理解文件内容.文件中存储的数据都按照码表有据可查, 那么此时就是文本文件.

3.2 二进制文件

如果你用一个记事本打开是正常的内容,就不是二进制文件.是文本文件
我们用JDK中的工具包来演示一下过程
在这里插入图片描述
上述是无限的乱码,说明是二进制文件.

四. JAVA对于文件的API

在这里插入图片描述

4.1 getParent getName getPath getAbsolutePath方法

我们先用比较简单的绝对路径来演示

在这里插入图片描述在这里插入图片描述

getParent: 此方法是获取的父目录
getName: 此方法是获得纯对象名称,也就是自己的名字
getPath: 返回名字的文件路径
getAbsolutePath : 获得File对象的绝对路径

相对路径来演示

在这里插入图片描述
在这里插入图片描述

我们可以发现,在参数为绝对路径时,返回File对象的文件路径和绝对路径相同,但是在参数为相对路径时,却不一样了.
getAbsolutePath中,返回的是JAVA本包所在文件的路径,这是相对路径和绝对路径在此方法上的不同.

4.2 exists isFile isDirectory

在这里插入图片描述在这里插入图片描述

exists 判断此文件是否存在
isFile 判断是否为文件,很显然是一个文件
isDirectory 判断是否为目录,它只是一个普通的文件,并非是目录

4.3 createNewFile delete deleteOnExit方法

在这里插入图片描述

在使用了createNewFile方法之后,会在包的栏出现一个txt文件.
在这里插入图片描述
在我们执行了delete操作之后.
就会删除掉这个文件.

4.4 list listFiles

在这里插入图片描述
在这里插入图片描述

list 是以String数组为前提 ,返回file下的所有文件名.
listFiles是以file对象为前提,返回所有文件.

在这里插入图片描述在这里插入图片描述

4.5 mkdir mkdirs

mkdir 创建file对象的目录
mkdirs 创建file对象的多级目录

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jest单元测试:玩转代码的小捉迷藏!

Jest Jest 是什么? Jest 是一个流行的 JavaScript 测试框架,专注于简化和改进代码的测试流程。它由 Facebook 开发并维护,具有以下特点: 1、易用性:Jest 提供了一个简单而强大的测试框架,使得编写和运行测…

【架构设计】单体软件向微服务化演变

单体软件 假设单体软件的各模块如下,其中服务包含许多功能模块,如用户管理模块、商品模块、订单模块、仓库模块; #mermaid-svg-MzWKwMCwfo3PWMGH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-…

uniapp h5 发行后 微信第二次打开网址 页面白屏

发行后把网址给客户,第一次可以正常登录打开,第二次打开白屏 原因:第一次打开时没有token,所以跳转登录页,可以正常访问 第二次打开时有token,但是网址根目录没有配置默认页面,所以白屏 解决…

Windows Server调整策略实现999999个远程用户用时登录

正文共:1234 字 23 图,预估阅读时间:2 分钟 上篇文章中(Windows Server 2019配置多用户远程桌面登录服务器),我们主要介绍了Windows Server 2019在配置远程桌面时,如何通过3种方式创建本地用户账…

微前端无界机制浅析

简介 随着项目的发展,前端SPA应用的规模不断加大、业务代码耦合、编译慢,导致日常的维护难度日益增加。同时前端技术的发展迅猛,导致功能扩展吃力,重构成本高,稳定性低。 为了能够将前端模块解耦,通过相关技…

使用Qt连接scrcpy-server控制手机

Qt连接scrcpy-server 测试环境如何启动scrcpy-server1. 连接设备2. 推送scrcpy-server到手机上3. 建立Adb隧道连接4. 启动服务5. 关闭服务 使用QTcpServer与scrcpy-server建立连接建立连接并视频推流完整流程1. 开启视频推流过程2. 关闭视频推流过程 视频流的解码1. 数据包协议…

python每日学17:控制推导逻辑的子表达式不要超过两个

背景:今天放假在家,《python学习手册》不在身边,所以今天学习《Effective Python: 编写高质量Python代码的90个有效方法》第28条《控制推导逻辑的子表达式不要超过两个》,这本书已经是第二版了,第一版是《编写高质量py…

shell脚本,ADB

Linux命令行命令是系统内置的命令或用户自定义的脚本(shell 脚本,.sh扩展名结尾),可以通过终端输入命令来执行。这些命令通常存储在Linux系统的/bin、/usr/bin、/sbin、/usr/sbin等目录下,也可以在$PATH环境变量中指定…

NVMe系统内存结构 - Meta Data

NVMe系统内存结构 - Meta Data 1 为什么需要数据保护2 Meta Data定义3 Meta Data传输方式4 常见Meta Data使用场景4.1 不带数据保护信息4.2 带数据保护信息“数据写”流程4.3 带数据保护信息“数据读”流程4.4 SSD内部加入数据保护信息4.5 SSD内部根据数据保护信息验证数据 本文…

如何在你的网站接入QQ登录?

文章目录 准备阶段申请QQ登录的权限创建应用最后上传qqlogin.php代码 准备阶段 国内服务器和备案域名需要你有张独一无二本人的身份证你正面手持身份证的图片一张100px*100px的网站图标 申请QQ登录的权限 首先访问qq互联,点击我直接访问 登陆完成后我们点击面的…

bash shell基础命令(一)

1.shell启动 shell提供了对Linux系统的交互式访问,通常在用户登录终端时启动。系统启动的shell程序取决于用户账户的配置。 /etc/passwd/文件包含了所有用户的基本信息配置, $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash ...例如上述root账户信…

Python新年文字烟花简单代码

简单的Python新年烟花代码示例: import random import timedef create_firework():colors [红色, 橙色, 黄色, 绿色, 蓝色, 紫色]flashes [爆裂, 闪光, 旋转, 流星, 喷射]color random.choice(colors)flash random.choice(flashes)print(f"发射一枚{color…

redis之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

GUI编程(函数解析以及使用)

1.介绍 AWT(Abstract Window Toolkit)和Swing 是 Java 提供的用于创建图形用户界面(GUI)的类库。 AWT:AWT 是 Java 最早提供的 GUI 类库,它基于本地平台的窗口系统,使用操作系统的原生组件进行…

17.蒙特卡洛强化学习之批量式策略评估

文章目录 1. 是什么2. 为什么直接估计Q而不是V2. 根据多条完整轨迹计算Q(s,a)3. 初访法和每访法哪个更好? 1. 是什么 智能体利用完整轨迹数据估计出 Q π ( s , a ) Q_\pi(s,a) Qπ​(s,a)的过程 2. 为什么直接估计Q而不是V 因为策略评估的目的在于改进现有策略 …

Springboot中时间格式化

时间格式化方式 JsonFromat方式全局配置方式格式化工具方式 JsonFromat方式 前端传参或后端响应 yyyy-MM-dd HH:mm:ss 格式,直接属性字段上加注解 JsonFromat JsonFromat(pattern "yyyy-MM-dd HH:mm:ss", timezone "GMT8") private Date fi…

文件的创建时间可以修改吗,怎么改?

文件的创建时间可以修改吗,怎么改?文件的创建时间是由操作系统自动生成并记录的,通常情况下无法直接修改。创建时间是文件的属性之一,它反映了文件在文件系统中的生成时间。一旦文件被创建,其创建时间就被确定下来&…

pod配置资源管理

secret 保存密码,token,敏感的k8s资源 configmap(重点) 1.2加入的新特征 这类数据可以存放在镜像当中,但是放在secret当中可以更方便的控制,减少暴露的风险,保存加密的信息 secret的类型 docker-registry 存储docke…

Vulnhub-tr0ll-1

一、信息收集 端口收集 PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.2 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rwxrwxrwx 1 1000 0 8068 Aug 09 2014 lol.pcap [NSE: writeable] | ftp-syst: | STAT: | FTP …

Java使用Quartz做定时任务并持久化

一、导包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency> 二、创建定时任务 创建一个定时任务如下&#xff0c;需要传入定时任务执行的class、定时任务名字…