30+视频&10+案例纵横文件与IO领域 | Java开发者高级应用站

简介: 一个程序的建立往往需要达到某些信息交换的目的,反映在计算机上就是文件之间的交流。我们的程序是怎样操作文件的?我们又该怎样从文件中读取和写入数据呢?快来这里一探究竟吧!

点击查看视频课程

一个程序的建立往往需要达到某些信息交换的目的,反映在计算机上就是文件之间的交流。我们的程序是怎样操作文件的?我们又该怎样从文件中读取和写入数据呢?快来这里一探究竟吧!

Java是通过File类与其完善的IO流相关基类完成的数据交换工作,在这里,你将从无到有,一步步了解、熟悉并掌握文件IO的相关开发能力,通过实战验证所得,在Java文件领域中打下一个坚实的基础。

Flie类-踏入文件的领域

当开发程序到一定程度时,我们的程序必定会与文件打交道,本节将简单介绍File类的相关内容。

【本节目标】
通过阅读本节内容,你将初步认识File类的基本功能,学会如何在Java中如何创建一个文件,并可以解决创建文件过程中可能遇到的问题。

在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一一个与文件本身操作(创建、删除、重命名等)有关的类。如果要进行File的操作,必须要提供有完整的路径,而后可以调用相应的方法进行处理。

点击学习>>

深入了解File类,勘破文件操作

了解了File类提供的几个基本功能后,我们还需要注意一些问题,比如文件路径分隔符、JVM文件处理流程、创建时路径注意事项等,本节将一一介绍。

【本节目标】
通过阅读本节内容,你将了解到不同的操作系统中的路径的编写方式、注意到文件操作过程中文件名应当尽可能避免重复,掌握创建单级目录和多级目录的方法,保证上级路径的存在性。

点击学习>>

借助File类了解文件的内在美

前几节中我们了解了如何进行文件级的相关操作,现在让我们走进文件,借助File类提供的其他方法,了解文件的内部信息吧。

【本节目标】
通过阅读本节内容,你将结合具体代码,实操File类的各种获取文件信息的方法,了解可以通过File类获取到哪些信息,初步掌握文件内部信息的获取方式。

点击学习>>

教你使用File类列出目录所有文件

学完了File类对文件的相关基本操作,现在我们来做一个列出指定目录中全部文件的案例,来进一步熟悉File类吧。

【本节目标】
通过阅读本节内容,你将结合之前所学,通过File对象的状态查询实现目录/文件的判断,并进一步借助其他方法列出目录中的全部文件。

点击实践>>

教你使用File类批量修改文件名称

在上一节中我们实操File类,完成了对目录中文件的列出、判空清除操作,本节将接续上一节案例,实现对文件命名的批量修改。

【本节目标】
通过阅读本节内容,你将进一步掌握File类的相关方法,了解文件名称编辑的一些常见套路,实现指定目录下的文件名的批量修改操作。

点击实践>>

文件I/O:初识流的概念

在Java标准包中与文件有直接关系的只有File类,但File类只能操作文件本身,其内部的数据是无法处理的,这时就要用到流的概念,本节将为读者介绍I/O流的相关知识。

【本节目标】
通过阅读本节内容,你将了解到操作文件内数据需要用到的技术,初步认识字节流、字符流中涉及到的几个类,掌握文件流处理的基本步骤。

点击学习>>

字节输出流之OutputStream

了解了文件I/O的基本知识后,本节将为读者展示字节输出流的总类OutputStream,现在让我们来一起了解一下它的相关定义和相关继承关系等信息吧。

【本节目标】
通过阅读本节内容,你将了解OutputStream抽象类的相关内容,了解到其对应内容的继承关系,认识类中声明的几种方法具有的功能。

点击学习>>

使用FileOutputStream将数据写入文件

上一节中我们了解了OutputStream的相关知识,现在让我们来一起使用其子类FileOutputStream来实现对文件内容的写入操作吧。

【本节目标】
通过阅读本节内容,你将了解到FileOutputStream类对象的几种构造方式,结合具体实例实现对文件内容的写入功能,并有意识的去关闭流对象节省系统资源。

点击学习>>

有出有入:使用字节输入流

上一节中我们学习了字节输出流OutputStream,与之对应的还有字节输入流InputStream,本节将为读者详细介绍字节输入流相关内容与使用FileInputStream读取文件内容。

【本节目标】
通过阅读本节内容,你将了解InputStream接口相关的内容,通过几组示例图直观深刻地理解字节输入流的工作原理,学会使用FileInputStream读取文件内容。

点击学习>>

秒懂字符输出流:Writer

在前几节中我们了解了字节输出流和字节输入流的相关定义和使用方法,但在程序运行过程中不难发现往往字符级别的操作更为常见,所以Java在JDK1.1时推出了字符流,本节将介绍字符输出流Writer。

【本节目标】
通过阅读本节内容,你将了解字符输出流Writer类的基本定义和继承关系图,了解其内的各种方法的功能,并学会使用字符输出流实现数据写入功能。

点击学习>>

掌握字符输入流:Reader

学习过字符输出流相关的内容后,本节将为读者介绍与之对应的字符输入流的相关内容和使用方法。

【本节目标】
通过阅读本节内容,你将了解字符输入流Reader类的基本定义和继承关系图,了解其内的各种方法的功能,深刻理解字符流为中文数据处理带来的便利性,学会使用字符输入流实现数据读取功能。

点击学习>>

一双慧眼识别字节/字符流区别

Java文件IO操作中常用的流处理类的基本信息和相关操作我们已经全部了解过,现在让我们来通过输出操作的复习总结概况字节流和字符流之间的区别吧。

【本节目标】
通过阅读本节内容,你将了解到OutputStream和Writer之间的不同,认识到输出过程中的缓冲区的存在,并能够通过对缓冲取得一些操作实现一些需求,深刻理解字符流和字节流适用于不同的使用场景。

点击学习>>

借助转换流打通字节/字符流的关联

由于字节流和字符流各有各的优势,在大多数场景中我们往往可以使用转换流InputStreamReader和OutputStreamWriter实现两类流式数据的相互转换,本节将为读者详细介绍转换流。

【本节目标】
通过阅读本节内容,你将了解InputStreamReader和OutputStreamWriter两个类的相关内容和使用方法,并对其各个类之间的继承关系有一个比较清晰的理解,学会使用转换类完成字节流和字符流的相关转换。

点击学习>>

实战文件流,完成文件拷贝

学习完基本的文件IO操作,本节将结合文件拷贝案例,实操代码,与读者一起一步步完成文件拷贝、文件夹拷贝等功能。

【本节目标】
通过阅读本节内容,你将从需求分析开始,到方案提出,再到具体实现,一步步完成文件拷贝的功能,并同时了解到JDK1.9为开发此类功能提供的转存方法的使用办法,完成文件、文件夹拷贝功能的开发。

点击实践>>

教你用不同的编码标准解码字符

在Java开发过程中,有时会发现自己曾经的代码里汉字部分变成了奇形怪状的字符,这往往是由于字符的编码解码标准不统一引起的,本节将为读者介绍几种常用的编码标准。

【本节目标】
通过阅读本节内容,你将了解到几种常见的编码标准与其表达能力,知道UTF-8是最常用的编码标准,并能够通过代码查看机器的属性,学会强制使用指定的编码标准对数据进行编码或解码。

点击学习>>

运用内存操作流实现IO操作

文件操作流能够实现对文件内容的读写操作,若是碰到了不希望产生文件的IO操作,显然是不能实现的,此时就需要用到内存操作流程。本节将为读者介绍内存操作流的相关知识。

【本节目标】
通过阅读本节内容,你将进一步了解到IO流操作的过程,了解到内存操作流相关类的继承体系,并能够借助这些类实现以内存为终端的IO操作。

点击学习>>

使用管道流构建线程信息通道

在之前学习的几种IO流中不难发现,它们在面对线程间通信问题的时候显然无法实现IO操作,这时需要用到本节介绍的管道流来进行处理。

【本节目标】
通过阅读本节内容,你将了解到几种管道流实现类的继承关系及其相关方法的功能,并结合实例代码实现线程间的数据通信工作。

点击学习>>

“一目十行”的RandomAccessFile类

传统的IO操作在面对超大型文件时进行读取和分析明显不能很好地完成,本节将为读者介绍java.io为开发者提供的课跳跃式读取文件内容的RandomAccessFile类。

【本节目标】
通过阅读本节内容,你将大致了解到RandomAccessFile类的作用与其处理超大型文件时的优势,了解其工作原理,学会使用类内提供的方法实现对文件的跳跃式读取和保存功能。

点击学习>>

“有限”的OutputStream

在日常开发中,Java的标准包有时只能满足开发使用的最低标准,OutputStream便是如此。本节将为读者介绍针对OutputStream类进行自定义开发实现优化输出功能的方法。

【本节目标】
通过阅读本节内容,你将了解到OutputStream在输出操作方面有限的功能,了解到“装饰设计模式”的基本思想,学会通过对OutputStream类的定制完成对输出操作的优化。

点击学习>>

使用打印流优化数据输出

为了弥补原始的OutputStream功能的不足,java.io包为开发者提供了打印流:PrintStream类和PrintWriter类,本节将为读者介绍其基本内容和使用方法。

【本节目标】
通过阅读本节内容,你将了解到打印流相关类的相关定义和继承关系,了解其相关功能,学会使用打印流实现数据的简单输出和格式化输出的功能。

点击学习>>

System类助力标准IO实现

在我们日常的生活中,计算机与我们的沟通主要是通过显示器和键鼠设备来完成的,而在Java中,显示器的输出功能和键鼠设备的输入功能则是依赖于System类的支持,本节将介绍它的相关内容。

【本节目标】
通过阅读本节目标:你将了解到System类针对IO功能提供的三大系统常量in、out和err的功能和使用方法,学会使用这几个方法实现键盘输入功能和显示器输出功能。

点击学习>>

使用缓冲输入流优化数据输入能力

本节将为读者介绍缓冲字符输入流BufferedReader类,并向读者介绍使用缓冲流的一些数据输入方面的优点。

【本节目标】
通过阅读本节内容,你将先了解到BufferedReader的继承关系,并了解到其核心方法readLine在数据输入方面带来的便利性,学会使用BufferedReader类实现键盘数据的输入和处理工作。

点击学习>>

使用Scanner类完成数据输入

Scanner类是JDK1.5以后出现的用于解决输入流处理问题的程序类,在整体设计上优于之前版本的BufferedReader类,本节将详细介绍Scanner类的相关内容。

【本节目标】
通过阅读本节内容,你将了解到Scanner类内提供的相关方法及其功能,学会使用Scanner类输入字符串、数字、生日等信息以及使用Scanner类读取文件信息,对程序IO拥有一个较为全面的认识。

点击学习>>

使用Serializable实现类对象序列化能力

在这个处处充斥着互联网信息的世界,无时无刻都在发生着信息、数据的传递,为了高效的、准确的使发送端和接收端之间能够正确识别数据内容,本节将介绍对象序列化接口Serializable的相关内容。

【本节目标】
通过阅读本节内容,你将了解到对象序列化接口Serializable的基本原理、作用及其实现方法,能够通过实现Serializable接口声明类对象的序列化能力。

点击学习>>

教你快速实现类对象的序列化/反序列化

上一节中我们通过在类中实现Serializable声明该类能够序列化,本节将带领读者借助ObjectOutputStream类和ObjectInputStream类实现对象的序列化和反序列化。

【本节目标】
通过阅读本节内容,你将了解到ObjectOutputStream类和ObjectInputStream类的定义、相关方法等内容,并结合实例实现对类对象的序列化输出和反序列化读取的操作,同时了解其使用方面的部分限制。

点击学习>>

transient:将属性脱离序列化

transient关键字是类似于static、final等关键字的修饰符,它可以使类中的属性在序列化时跳过该属性,本节将为读者介绍其相关内容与用法。

【本节目标】
通过阅读本节内容,你将了解到transient关键字的功能及使用方法,理解其出现的原因,并能在有相关需求时使用transient关键字对类内属性进行修饰使其跳过序列化。

点击学习>>

IO实战篇:数字大小比较

本节将带着读者开发实际案例,实现对输入的数字大小的比较功能,并求出所输数字的最大值和最小值。

【本节目标】
通过阅读本节内容,你将复习Scanner的相关知识,结合工厂模式,编写数字处理相关接口并完成实现,最终实现求出输入的三个数字的最大值和最小值的功能。

点击实践>>

IO实战篇:文件保存

本节将带着读者开发实际案例,复习File类和文件流的相关基本知识,实现对文件的新建和内容保存等操作。

【本节目标】
通过阅读本节内容,你将复习File类和文件流的相关知识,结合工厂模式,编写适当的接口和工具类实现对用户输入界面的一些优化,完成文件的相关操作与内容保存功能。

点击实践>>

IO实战篇:字符串逆序显示

本节将带着读者开发实际案例,结合Arrays类和StringBuffer类,实现对字符串的逆序输出操作。

【本节目标】
通过阅读本节内容,你将复习Arrays类和StringBuffer类的相关知识,与之前的案例设计模式一样,通过简单的控制台菜单设计和工厂模式完成对输入字符串的追加输入和逆序显示功能。

点击实践>>

IO实战篇:数据排序处理

节将带着读者开发实际案例,以简单基类为单位,结合Comparable接口、工厂设计模式实现对数据的排序功能。

【本节目标】
通过阅读本节内容,你将复习基类创建、Comparable接口的实现、Arrays类的使用等知识,结合新学的输入输出相关方法,编写相关接口与工厂类,初步完成对象类型数据的排序处理功能。

点击实践>>

IO实战篇:数据排序处理深入

在上一节中我们实现了简单的输入一些数据并完成数据排序处理的功能,本节将进一步开发,使其实现将数据保存进文件并进行显示的功能。

【本节目标】
通过阅读本节内容,你将继续复习文件IO的相关内容,结合其他相关知识,对数据进行严格的结构化约束输入后实现数据的正确的处理,进而实现将数据保存进文件并能够全部显示的功能。

点击实践>>

IO实战篇:奇偶数统计

在前几节中我们实战了很多案例,本节将带着读者开发一个较为简单的实际案例,实现对输入的数字的奇偶数字的出现次数的统计功能。

【本节目标】
通过阅读本节内容,你将进一步复习Service接口的相关内容及其实现方法,进一步掌握工厂类的写法,理解其作用与功能,编写相关代码实现对奇偶数字的统计功能。

点击实践>>

IO实战篇:用户登录

本节将带领读者实战用户登录功能,通过输入指定的用户名和密码简单实现用户登录功能来进一步掌握IO相关的知识和其他基本知识。

【本节目标】
通过阅读本节内容,你将复习到String一些基础的操作,进一步掌握数据输入的方法,简单了解用户登录功能的基本原理和实现过程,以及程序开发过程中的代理思想。

点击实践>>

IO实战篇:投票选举

通过前几节的实战,相信读者已经对实现java功能的基本开发过程有了一个十分清晰的理解,最后,让我们“重操旧业”,使用student类实战投票选举的功能。

【本节目标】
通过阅读本节内容,你将通过对Student类的扩展开发,复习Conparable比较相关的内容,实现排序功能以及投票数据的精确增长,结合程序菜单的设计,最终完成投票选举的功能。

点击实践>>

持续更新...
更多Java开发课程尽在Java开发者

相关文章
|
22天前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
69 34
|
1月前
|
存储 算法 Java
解锁“分享文件”高效密码:探秘 Java 二叉搜索树算法
在信息爆炸的时代,文件分享至关重要。二叉搜索树(BST)以其高效的查找性能,为文件分享优化提供了新路径。本文聚焦Java环境下BST的应用,介绍其基础结构、实现示例及进阶优化。BST通过有序节点快速定位文件,结合自平衡树、多线程和权限管理,大幅提升文件分享效率与安全性。代码示例展示了文件插入与查找的基本操作,适用于大规模并发场景,确保分享过程流畅高效。掌握BST算法,助力文件分享创新发展。
|
15天前
|
Java API 数据处理
深潜数据海洋:Java文件读写全面解析与实战指南
通过本文的详细解析与实战示例,您可以系统地掌握Java中各种文件读写操作,从基本的读写到高效的NIO操作,再到文件复制、移动和删除。希望这些内容能够帮助您在实际项目中处理文件数据,提高开发效率和代码质量。
19 0
|
3月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
327 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
15天前
|
缓存 网络协议 Java
JAVA网络IO之NIO/BIO
本文介绍了Java网络编程的基础与历史演进,重点阐述了IO和Socket的概念。Java的IO分为设备和接口两部分,通过流、字节、字符等方式实现与外部的交互。
|
3月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
125 34
|
2月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
52 0
|
3月前
|
Java 开发者
Java 开发者注意!限时招募产品体验官,100% 获得好礼
🚀【开发者福音】SoFlu-JavaAI 开发助手来袭!💻 摆脱熬夜赶需求的压力,SoFlu-JavaAI 助你轻松应对:理清需求、设计架构、编写逻辑与代码、一键构建工程。立即体验高效开发![了解更多](https://mp.weixin.qq.com/s/h9lwDGbwhYodoNjOxsaxIQ) # 产品体验官限时招募中!
Java 开发者注意!限时招募产品体验官,100% 获得好礼
|
3月前
|
存储 Java API
【JavaEE】——文件IO(万字长文)
文件路径,文本文件,二进制文件,File类,文件流,字节流(InputStream,OutputStream)字符流(Reader,Writer)
|
前端开发 NoSQL Java
2022年Java精选视频,动力节点Java自学全套视频资源
今天整理了java开发的学习路线和相关的学习视频资源,非常适合零基础入门java的小伙伴,希望大家在学习的时候,能够节省时间。 这里有你需要掌握的所有前沿技术,史上最全的Java学习路线资源,从基础到项目实战,而且是最新的教程,按照以下顺序学就完了!纯干货!
487 0