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 提供了一个简单而强大的测试框架,使得编写和运行测…

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

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

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

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

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

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

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 类库,它基于本地平台的窗口系统,使用操作系统的原生组件进行…

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

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

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 …

分布式搜索——Elasticsearch

Elasticsearch 文章目录 Elasticsearch简介ELK技术栈Elasticsearch和Lucene 倒排索引正向索引倒排索引正向和倒排 ES概念文档和字段索引和映射Mysql与Elasticsearch 安装ES、Kibana安装单点ES创建网络拉取镜像运行 部署kibana拉取镜像部署 安装Ik插件扩展词词典停用词词典 索引…

Linux 内核大转变:是否将迈入现代 C++ 的时代?

Linux开发者 H. Peter Anvin 在邮件列表中重启了关于 Linux内核C代码转换为C的讨论,并陈述了自己的观点。说之前先看一下这个话题的历史背景。 早在2018年4月1日,Andrew Pinski提议将 Linux 内核源码转为 C,在文中写道之所以引入是由于以下优…

centos7配置时间同步网络时间

centos7配置时间同步网络时间 1、安装 NTP 工具。 sudo yum install -y ntp2启动 NTP 服务。 sudo systemctl start ntpd3、将 NTP 服务设置为开机自启动。 sudo systemctl enable ntpd4、验证 date

Xmind 网页端登录及多端同步

好久没用 Xmind 了,前几天登录网页端突然发现没办法登录了,总是跳转到 Xmind AI 页面。本以为他们不再支持网页端了,后来看提示才知道只是迁移到了新的网址,由原来的 xmind.works 现在改成了的 xmind.ai。又花费好长时间才重新登录…

JAVAEE——request对象(三)

1. request对象 1.1 知识点 &#xff08;1&#xff09;乱码问题的两种解决方式 &#xff08;2&#xff09;post和get提交的区别 &#xff08;3&#xff09;request接收同名参数的问题 1.2 具体内容 使用request接收参数 <%page contentType"text/html; charsetut…

探索2023年大模型与AIGC峰会:程序员的学习之旅与未来展望

在2023年的技术前沿&#xff0c;大模型与AIGC峰会无疑是一个备受瞩目的盛会。 作为程序员&#xff0c;你将从这次大会中学到什么&#xff1f;这次峰会将为你揭示哪些前沿科技趋势&#xff1f;让我们一起来探讨这个问题。 一、理解大模型与AIGC 大模型和AIGC是人工智能领域中两…

离线数据仓库-关于增量和全量

数据同步策略 数据仓库同步策略概述一、数据的全量同步二、数据的增量同步三、数据同步策略的选择 数据仓库同步策略概述 应用系统所产生的业务数据是数据仓库的重要数据来源&#xff0c;我们需要每日定时从业务数据库中抽取数据&#xff0c;传输到数据仓库中&#xff0c;之后…

x-cmd pkg | mermaid - 流程图、时序图等图表绘制工具

简介 mermaid-cli 是由 Mermaid 官方提供的命令行工具&#xff0c;用于将 Mermaid 语法的文本转换为 SVG / PNG / PDF。 Mermaid 是一个基于 JavaScript 的图表绘制工具&#xff0c;它使用简单的文本描述语法&#xff0c;就可以绘制出流程图、时序图、甘特图等多种图表。 首次…