学习JavaEE的日子 Day33 File类,IO流

Day33

1.File类

File是文件和目录路径名的抽象表示

File类的对象可以表示文件:C:\Users\Desktop\hhy.txt

File类的对象可以表示目录路径名:C:\Users\Desktop

File只关注文件本身的信息(文件名、是否可读、是否可写…),而不能操作文件里面的内容

对文件里的数据进行操作的是:IO流

需求1:通过程序,获取已知文件的信息

public class Test01 {
	public static void main(String[] args) {
		
		//创建file对象(java中两个\\才是\)
		File file = new File("C:\\Users\\何小宝\\Desktop\\hhy.txt");
		
		System.out.println("获取文件路径:" + file.getAbsolutePath());
		System.out.println("获取文件名:" + file.getName());
		System.out.println("获取文件是否可读:" + file.canRead());
		System.out.println("获取文件是否可写:" + file.canWrite());
		System.out.println("获取文件是否隐藏:" + file.isHidden());
		System.out.println("获取文件大小(字节):" + file.length());

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		String datetime = sdf.format(file.lastModified());
		System.out.println("获取文件最后修改时间:" + datetime);
	}
}

1.1 相对路径 和 绝对路径

绝对路径:从根目录开始的完整路径,包含了文件系统中该文件或目录所在的完整路径,通常以根目录符号(如Linux中的“/”,Windows中的“C:\”)开始

相对路径:相对于当前项目下的路径

public class Test02 {
	public static void main(String[] args) {
		
		File file = new File("file.txt");//使用的是相对路径
		System.out.println(file.length());
		
		//E:\fy2401workspace\Day33\file.txt
		System.out.println("绝对路径:" + file.getAbsolutePath());
		
		//file.txt
		System.out.println("相对路径:" + file.getPath());
		
	}
}

IO流

1.概念

I – in – 输入(读)

O – out – 输出(写)

流 – 一点一点的想水流一样去传输数据

注意:站在程序的角度去看待输入还是输出
在这里插入图片描述

2.分类

按照方向分流:输入流、输出流

按照单位分流:字节流、字符流

按照功能分流:基础流/节点流、处理流

注意:new 处理流(new 基础流) – 装饰者模型 – 处理流对象中往往包含了基础流的对象,在基础流的基础上拓展了额外的功能,使得流更为强大(效率),工作中一般使用处理流
在这里插入图片描述

3.存储单位

1024KB = 1MB

1024MB = 1GB

1024GB = 1TB

1024TB = 1PB

注意:进制1024

4.学习注意事项

  1. 按照流的发展历史去学习
  2. 注意流与流之间的继承关系
  3. 举一反三

总结

1.File
关注文件信息,而非文件内容
相对路径和绝对路径的区别

2.IO流

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

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

相关文章

基于SSM的电影网站(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的电影网站(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMv…

MySQL 全文检索

不是所有的数据表都支持全文检索 MySQL支持多种底层数据库引擎,但是并非所有的引擎支持全文检索 ,目前最常用引擎是是MyISAM和InnoDB;前者支持全文检索,后者不支持。 booolean模式操作符 操作符含义必须有-必须不包含>包含对应…

Linux系统使用Docker部署Dashy导航页服务并实现公网环境访问

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…

如何使用pgvector为RDS PostgreSQL构建专属ChatBot?

背景 越来越多的企业和个人希望能够利用LLM和生成式人工智能来构建专注于其特定领域的具备AI能力的产品。目前,大语言模型在处理通用问题方面表现较好,但由于训练语料和大模型的生成限制,对于专业知识和时效性方面存在一些局限。在信息时代&…

缓存穿透、缓存雪崩、缓存击穿的区别

缓存三兄弟(穿透、雪崩、击穿) 缓存穿透 定义 查询一个redis和数据库都不存在的值,数据库不存在则不会将数据写入缓存,所以这些请求每次都达到数据库。 解决办法是缓存空对象,如果数据库不存在则将空对象存入缓存&…

Python数据结构与算法——算法(贪心算法、动态规划

贪心算法 介绍:贪心算法又称贪婪算法,是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的是在某种意义上的局部最优解。 贪心算法并不保证会得到最优解,但…

qemu源码解析(基于qemu9.0.0)

简介 QEMU是一个开源的虚拟化软件,它能够模拟各种硬件设备,支持多种虚拟化技术,如TCG、Xen、KVM等 TCG 是 QEMU 中的一个组件,它可以将高级语言编写的代码(例如 C 代码)转换为可在虚拟机中执行的低级代码…

InternlM2

第一次作业 基础作业 进阶作业 1. hugging face下载 2. 部署 首先,从github上git clone仓库 https://github.com/InternLM/InternLM-XComposer.git然后里面的指引安装环境

Day21_学点儿JavaEE__过滤器Filter(登录验证、编码处理)

1 为什么要使用过滤器 昨天已经总结过 当然,这仅仅是完成了一个简单的登录过程,即完成判断输入信息是否和数据库信息相匹配的操作,但是仍然可以通过直接输入地址的方式,在不登录的情况下访问相应的页面。而我们实际生活中的没登录…

ASUS华硕ROG幻16Air笔记本电脑GU605M原装出厂Win11系统工厂包下载,带有ASUSRecovery一键重置还原

适用型号:GU605MI、GU605MY、GU605MZ、GU605MV、GU605MU 链接:https://pan.baidu.com/s/1YBmZZbTKpIu883jYCS9KfA?pwd9jd4 提取码:9jd4 华硕原厂Windows11系统带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系统属性联机支持…

谷歌查问题

1,打开 it工具箱-里面啥都有 2,找到谷歌 3,访问gpt

跟TED演讲学英文:The next grand challenge for AI by Jim Fan

The next grand challenge for AI Link: https://www.ted.com/talks/jim_fan_the_next_grand_challenge_for_ai? Speaker: Jim Fan Date: October 2023 文章目录 The next grand challenge for AIIntroductionVocabularyTranscriptSummary后记 Introduction Researcher Jim…

深入理解MD5算法:原理、应用与安全

title: 深入理解MD5算法:原理、应用与安全 date: 2024/4/11 20:55:57 updated: 2024/4/11 20:55:57 tags: MD5算法数据安全哈希函数摘要算法安全漏洞SHA算法密码学 第一章:引言 导言 在当今数字化时代,数据安全和完整性变得至关重要。消息…

PHP婚恋小程序开发源码支持微信+公众号+APP

随着社会的发展和人们生活节奏的加快,传统的相亲方式已经不能满足现代人的需求。在此背景下,有人想到通过线上小程序的方式来满足更多的人进行相亲,所以在此情况下,婚恋相亲小程序由此出现。婚恋相亲小程序的功能有会员功能&#…

Postman接口测试工具

Postman接口测试工具 目录 Postman接口测试工具安装页面概述保存任务发送请求 安装 PostMan官方下载网址:https://www.getpostman.com/downloads/ 页面概述 保存任务 新建请求集合 命名为test 将刚刚的任务保存 选择新建的test集合 发送请求 新建窗口 request请…

解决源 “MySQL 8.0 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。

源 “MySQL 8.0 Community Server” 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。 失败的软件包是:mysql-community-server-8.0.31-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql…

vue源码解析——v-if和v-for哪个优先级高,如何避免两者同时使用

首先,官方不推荐v-if和v-for在同一个元素上使用。其次,如果两者同时使用,v-if和v-for的优先级怎么确定?在vue2和vue3中这两者的优先级顺序不一样。vue2是v-for优先,条件不存在时也会渲染多个注释节点。在vue3中进行了改…

JVM 垃圾收集器

JVM 垃圾收集器 垃圾收集器 垃圾收集器 Serial (串行):单线程垃圾回收器;采用复制算法 Serial Old:Serial 收集器的老年代版本,采用标记-整理算法。 ParNew:多线程的垃圾回收器(Serial 的多线程版本&#x…

推荐一个大学生可以参加的榜单赛事|人工智能赛道

【榜单赛事】第十四届全国大学生计算机应用能力与数字素养大赛 - 人工智能产业应用赛道人工智能编程赛项 正在火热报名中 本赛道定位于人工智能产业应用和实践,把人工智能产业真实的技能要求、能力要求体现在竞赛内容设计当中,并在竞赛环节融入实战项目…

SQLite Android 绑定(十八)

返回:SQLite—系列文章目录 上一篇:SQLite 在Android安装与定制方案(十七) 下一篇:SQLite—系列文章目录 ​ 应用程序编程 加载共享库 在使用任何与 SQLite 相关的方法或对象之前,本机 SQLite 必…