促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
全部目标
全部级别
输出流
模块 1
第 24 级,
课程 2
1.OutputStream类 我们最近刚刚探索了输入流。是时候讨论输出流了。 该类OutputStream是所有支持字节输出的类的父类。这是一个抽象类,它自己什么都不做,但它有适用于各种场合的子类。 听起来极其复杂。更简单地说,此类对字节进行操作,而不是对字符或其他数据类型进行操作。而且它是抽象的这一事实意味着我们通常不使用它,而是使用它的后代类之一。比如,FileOutputStream之类的。 但是回到OutputStream课堂上。此类具有其所有后代类都必须实现的方法
BufferedWriter
模块 1
第 24 级,
课程 3
程序通常包括将数据快速写入文件或其他地方的要求。这就提出了问题:我们应该怎么做?我们应该选择哪个班级?今天我们将了解一个适合这个角色的候选人——BufferedWriter类。 为什么我们需要 BufferedWriter? BufferedWriter 是一个将缓冲字符写入流的类。它可以让您减少访问物理媒体的次数。也就是说,它不是每次写入一个字符,而是将数据写入缓冲区,然后将所有字符一次性全部写入介质。 这大大提高了写入速度。默认缓冲区大小为 8192 个字符,但这可以通过
该级别的附加课程
模块 1
第 24 级,
课程 4
java.io 在这个级别,我们探索了输入和输出流并熟悉了它们的方法。如果你觉得自己还没有完全掌握Java中的I/O,我们可以继续对话,分析几个I/O在实践中的例子。没有什么困难 — 只需阅读标题为“ Java 中的输入/输出。FileInputStream、FileOutputStream 和 BufferedInputStream 类”的文章。 练习 BuffreredReader 和 InputStreamReader 类
字节数组输入流
模块 1
第 25 级,
课程 0
java.io包中的 ByteArrayInputStream 类可用于读取输入数组(字节)。 要创建字节数组输入流,我们必须首先导入java.io.ByteArrayInputStream包。导入包后,我们有两个构造函数可用于创建输入流: ByteArrayInputStream input = new ByteArrayInputStream(arr);
字节数组输出流
模块 1
第 25 级,
课程 1
ByteArrayOutputStream类实现将数据写入字节数组的输出流。缓冲区会随着数据写入而自动增长。 ByteArrayOutputStream类在内存中创建一个缓冲区,所有发送到流的数据都存储在缓冲区中。 ByteArrayOutputStream 构造函数 ByteArrayOutputStream类具有以下构造函数: 构造器 字节数组输出流() 此构造函数创建一个 32 字节长的内存缓冲区。 字节数组输出流(int a) 此构造函数创建一个具有特定大小的内存缓冲
设计模式。装潢师
模块 1
第 25 级,
课程 2
我们已经回顾了单例对象的使用,但您可能还没有意识到这种策略是一种设计模式,而且是最常用的设计模式之一。 事实上,这些模式有很多,可以根据其特定用途进行分类。 花样分类 图案类型 应用 创意的 解决对象创建问题的类型 结构性的 让我们在架构中构建正确且可扩展的类层次结构的模式 行为的 这组模式促进了程序中对象之间的安全和方便的交互。 通常,模式的特征在于它解决的问题。让我们看一下我们在使用 Java 时最常遇到的几种模式: 图案 目的 单例 我们已经熟悉这种模式——我们用它来创
该级别的附加课程
模块 1
第 25 级,
课程 3
在这个级别,我们熟悉了内存数据流(ByteArrayInputStream、ByteArrayOutputStream)和责任链设计模式。 我建议你看看其他模式: Java 中的设计模式 [第 1 部分] Java 中的设计模式 [第 2 部分]
IO 与 NIO
模块 1
第 26 级,
课程 0
为什么 Java IO 如此糟糕? IO(输入和输出)API 是一种 Java API,它使开发人员可以轻松地使用流。假设我们收到了一些数据(例如,名字、中间名、姓氏),我们需要将其写入文件——是时候使用java.io了。 java.io 库的结构 但是Java IO也有它的缺点,所以让我们依次谈谈它们: 阻止对输入/输出的访问。问题在于,当开发人员尝试使用Java IO读取文件或向文件写入内容时,它会锁定文件并阻止对其的访问,直到工作完成。 不支持虚拟文件系统。 不支持链接
引入文件
模块 1
第 26 级,
课程 1
1.Path类 如果您想编写一个程序来处理磁盘上的文件,那很容易。Java 有很多类可以帮助您处理文件本身及其内容。 Java 的早期版本使用File和之类的类FileInputStream来处理文件。但是,该类File现已弃用,不建议使用。当然,你可能仍然会在代码、方法参数或类构造函数中遇到它。 从一开始,我们将开始学习如何使用该类处理文件Path。Path是替换的类File。它更安全、更高效。 Path班级 从技术上讲,Path它不是一个类——它是一个接口。Path这样做
缓冲区、通道
模块 1
第 26 级,
课程 2
早些时候,我们了解了IO API(输入/输出应用程序编程接口)和java.io包,它们的类主要用于处理 Java 中的流。这里的关键是流的概念。 今天我们将开始考虑NIO API(新输入/输出)。 这两种 I/O 方法的主要区别在于 IO API 是面向流的,而 NIO API 是面向缓冲区的。所以要理解的主要概念是buffers和channels。 什么是缓冲区,什么是通道? 通道是数据进出的逻辑入口,而缓冲区是此传输数据的源或目的地。在输出过程中,将要发送的数据放入缓冲区
选择器
模块 1
第 26 级,
课程 3
在本课中,我们将熟悉Selector类。此类位于java.nio.channels包中,因此您无需下载或配置任何内容即可使用它。选择器对象可以监视一个或多个通道对象,检查它们是否准备好读/写等。最重要的是,选择器需要一个流,而不是每个通道一个流。 我们使用静态打开方法创建选择器: Selector selector = Selector.open(); 之后,可以在选择器对象中注册通道: SelectionKey key1 = channel1.register(select
路径
模块 1
第 26 级,
课程 4
实用类/方法 实用程序类是具有静态变量和静态方法的帮助程序类,可执行特定的相关任务列表。 让我们看一下标准实用程序类的示例: java.lang.数学 这个类可以执行许多不同的数学计算,为我们提供了一些数学常数。 java.util.数组 该类包含用于处理数组的各种方法(例如对它们进行排序和搜索)。这个类还有一个静态工厂,让我们可以将数组视为列表。 java.lang.System 此类实现与系统一起工作的方法。大多数情况下,我们用它来在控制台上显示文本。为此,我们引用静态出
显示更多
1
...
10
11
12
13
14
...
35
Please enable JavaScript to continue using this application.