# Java I/O 流源码分析
Java I/O(Input/Output)流是Java程序中处理输入输出操作的基础。在Java中,所有的输入输出操作都是通过流来实现的。本文将通过源码分析,深入探讨Java I/O 流的工作原理,并提供一些代码示例。
## 1. Java I/O 流概述
Java I/O 流分为两大类:字节流和字符流。字节流主要用于处理二进制数据,如文件、网络等;字符流主            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-28 05:27:00
                            
                                9阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            引子为什么要编码首先理解计算机的基本存储单元(byte),其最多能表达256个字符,而世界语言何其复杂,是远远大于256的,所以为了让计算机能表现各种语言,就需要编码。怎么编码:也就是约定翻译规范,下面简要概述一些我们比较常用的字符编码字符编码:1、ASICII:一个字节,128个码2、ISO-8859-1:一个字节,256个码GBK:两个字节,是中国的汉字编码规范UTF-16:两个字节,无论什么            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-05 12:03:14
                            
                                48阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            字节输入流FileInputStream代码举例FileInputStream fis = null;
		try {
			// 1.创建一个File对象
			File file = new File("Hello.txt");
			// 2.创建一个FileInputStream对象,将文件加载到一个输入流中
			fis = new FileInputStream(file);
			/            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-20 20:35:11
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //把字符串以UTF-8方式写入到输出流	static int writeUTF(String str, DataOutput out) throws            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-04 11:38:29
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package java.io;public class DataInputStream extends FilterInputStream implements DataInput {	//传入底层输入流    public DataInputStream(InputStream in) {        super(in);    }    //字节缓冲区    pri...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-08 17:19:52
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package java.io;public class DataInputStream extends FilterInputStream implements DataInput {	//传入底层输入流    public DataInputStream(InputStream in) {        super(in);    }    //字节缓冲区    pri...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-07 10:54:07
                            
                                145阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //把字符串以UTF-8方式写入到输出流	static int writeUTF(String str, DataOutput out) throws IOException {		//字符串长度        int strlen = str.length();		//写成UTF-8后字节的长度        int utflen = 0;		//c=字符的unicode编码...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-07 10:54:08
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            以下是一些可以学习Java IO流的编程题:1. Java IO流实现一个文件复制程序,将一个文件的内容复制到另一个文件中。import java.io.*;
//Java IO流实现一个文件复制程序,将一个文件的内容复制到另一个文件中。
public class FileCopy {
    public static void main(String[] args) {
        St            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 12:06:58
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            什么是流? 流是内存和硬盘之间传输数据的通道。 水借助管道传输,数据借助流传输。 流的分类 按方向划分: 输入还是输出的划分参照物是内存 输入流:将硬盘的数据读取到内存中。 输出流:将内存中的数据写入到硬盘中。 按单位划分: 字节流:以字节为单位,可以读写所有数据。 字符流:以字符为单位,只能读写文 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-13 16:28:00
                            
                                91阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Java第09次实验(IO流)--实验报告
	0.字节流与二进制文件我的代码用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.datapackage test;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-01 12:52:22
                            
                                95阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            IO 重点:节点流 缓冲流 转换流 对象流 了解即可的流:标准输入输出流,打印流 ,数据流 。对象流是要求掌握的 Java IO原理及流的分类 I/O是Input/Output的缩写。I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等 Java程序中,对于数据的输入/输 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-21 15:06:00
                            
                                248阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            IO(QQ,交流1073287714)1 数据流是一串连续不断的数据的集合,就像水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流.2 数据写入程序可以使一段一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流.1 在程序中所有的数据都是以流的方法进行传输和保存的。2 Java 的IO是实现输入和输出的基础。3 Java把所有传统的流类型(类或抽            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2014-03-06 13:19:17
                            
                                477阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    在qq群交流中,发现有部分人再咨询IO流方面的知识,个人觉得新手问的最多,本来对于刚接触IO流的学者来说,还是比较难理解,但是这方面的知识,必须得掌握,所以总结如下:一、功能        流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流,流机制是Java及C++中的一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-12 11:49:51
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            java io 总结1. 总起  了解java io,只要搞清楚5个类,指的是File、OutputStream、InputStream、Writer、Reader; 2. File  file就是最基本的文件操作对接。我们只需了解其用法即可。 3. InputStream  字节输入流,  FileInputStream:从文件系统的某个文件中获取输入字节。(文件–>字节流)  一般用法:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-19 15:45:18
                            
                                83阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Java IO 总结笔记  Java的 IO 大致可以分成  对字节流的输入输出,  对字符流的输入输出。  InputStream和OutputStream主要用于字节流byte的输入输出,二进制文件。  Reader 和 Writer 主要用于字符流的输入输出,文本文件。  流与Reader和Writer在结束使用的时候,需要正确地关闭它们。通过调用close()方法可以达到这一点。Input            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 13:43:51
                            
                                119阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            博主对转载的原代码进行了调试,改了一些小问题后,亲测可用。 本文对javaIO流的13道经典的练习题做解答,里面有详细的思路解析,做题时最好养成先写思路在编程的习惯。(一) 在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文件&nbs            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-09 15:39:43
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Java 中 IO 流Java中的IO与NIO面试题1、Java 中 IO 流?2、常用io类有那些3、字节流与字符流的区别4、BIO与 NIO的区别5、阻塞 IO 模型6、非阻塞 IO 模型7、多路复用 IO 模型8、信号驱动 IO 模型9、异步 IO 模型10、JAVA NIO11、NIO 的缓冲区12、NIO 的非阻塞13、Channel14、Buffer15、Selector15、Sele            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-07 10:14:54
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Q:什么是IO流?它是一种数据的流从源头流到目的地。比如文件拷贝,输入流和输出流都包括了。输入流从文件中读取数据存储到进程(process)中,输出流从进程中读取数据然后写入到目标文件。Q:Java中有几种类型的流?按照流的方向:输入流(inputStream)输出流(outputStream)。按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据。如FileReader)处理流(是对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-07 14:29:45
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java I/O流详解前言一、I/O流是什么?二、IO流分类:1. 流程图: io流对象2. io流的优缺点:3. io 流Java中用途有哪些?三、一些 io 实例四、面试题: 前言  IO流大家可能不太熟悉,我简单整理了一下常用IO流基本用法,并且提供了一些练习题和面试题,大家可以抽空看看。  一、I/O流是什么?I/O流中的 I 代表 input(输入) ,O代表 output(输出) 。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-12 11:45:39
                            
                                30阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、关于 IO 流1、IO 流的作用在接触 IO 流前,无论是 变量的声明、数组的创建,又或者是复杂的并发设计还是 Jvm 的性能调优,我们更多的还是和内存打交道。但我们知道计算机组成包括运算器,控制器,存储器,输入设备,输出设备。也就是不仅仅只有内存和 CPU,所以程序设计语言必须要提供程序与外部设备交互的方式,这就是 IO 框架的由来。我们需要和外部设备进行数据的交互。2、IO 流的介绍我们的