首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java IO 总结

对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据(不能随机读取)。...该方法实际上是调用下一个方法实现的 public int read(byte b[ ], int off, int len):从输入流中最多读取len个字节的数据,存放到偏移量为off的b数组中。...n):忽略输入流中的n个字节,返回值是实际忽略的字节数, 跳过一些字节来读取 public int close( ) :使用完后,必须对我们打开的流进行关闭。...:把多个InputStream合并为一个InputStream OutputStream OutputStream提供了3个write方法来做数据的输出,这个是和InputStream是相对应的。   ...BufferReader :接受Reader对象作为参数,并对其添加字符缓冲器,使用readline()方法可以读取一行。

56020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java实现文件写入——IO流(输入输出流详解)

    ---- (二)使用字节输入输出流 字节流用于处理二进制数据的读取和写入,它以字节为单位,InputStream类和OutputStream类是字节流的抽象类,它们定义了数据流读取和写入的基本方法...() 返回当前输入流的数据读取方法可以读取的有效字节数量 Abstract int read() 从当前数据流中读取一个字节。...void flush() 刷新当前输出流,并强制写入所有缓冲的字节数据 void close() 关闭当前输出流 ---- 和InputStream类一样,OutputStream 类是抽象类...文件字节输入流类继承InputStream类,并实现了读取输入流的各种方法。...,int off,int len) 读取一些字符到char[ ]数组下标从off开始到off+len的位置,并返回所读入的字符的数量,若已到达流结尾,则返回-1; void reset() 将当前输入流重新定位到最后一次

    2.4K31

    这些年一直记不住的 Java IO

    上面的例子还展示了 Java I/O 的一些特征: InputStream、OutputStream、Reader、Writer 等资源用完之后要关闭; 所有的 I/O 操作都可能产生异常,包括调用close...结合平时使用计算机的经验,我们也可以想到其它一些不同的数据来源和目的,比如从内存中读取字节或把字节写入内存,从字符串中读取字符或者把字符写入字符串等等,还有从管道中读取数据和向管道中写入数据等等。...从 InputStream 扩展的类: ?   从 Reader 扩展的类: ?   从 OutputStream 扩展的类: ?   从 Writer 扩展的类: ?   ...不信可以通过修改上述示例代码中读取数据的顺序进行测试。   ...从流中读取对象的时候,这些对象也会同时被读入内存,并保持它们之间的引用关系。如果把同一批对象写入不同的流,再从这些流中读出,就会获得这些对象多个副本。这里就不举例了。

    1.1K50

    这些年一直记不住的 Java IO

    上面的例子还展示了 Java I/O 的一些特征: InputStream、OutputStream、Reader、Writer 等资源用完之后要关闭; 所有的 I/O 操作都可能产生异常,包括调用close...结合平时使用计算机的经验,我们也可以想到其它一些不同的数据来源和目的,比如从内存中读取字节或把字节写入内存,从字符串中读取字符或者把字符写入字符串等等,还有从管道中读取数据和向管道中写入数据等等。...从 InputStream 扩展的类: ?   从 Reader 扩展的类: ?   从 OutputStream 扩展的类: ?   从 Writer 扩展的类: ?   ...不信可以通过修改上述示例代码中读取数据的顺序进行测试。   ...从流中读取对象的时候,这些对象也会同时被读入内存,并保持它们之间的引用关系。如果把同一批对象写入不同的流,再从这些流中读出,就会获得这些对象多个副本。这里就不举例了。

    99120

    JavaSE 基础学习之五 —— IO 操作 (java. io.*)

    InputStream 的 read() 方法,以及 OutputStream 的 write() 方法,是它们功能丰富多彩的子类的基本方法。...bytes 中放,从 offset 位置开始读取,长度为 length 的字符串; 返回的是读到的字节的个数; 返回 -1 就读到了文件结尾; OutputStream 的 write() 方法如下:...DataInputStream 允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型; DataInputStream 本质上也是对 InputStream.read() 方法进行调用...OutputStream.write() 方法,分别读取原始数据的右移 24 位、16 位、8 位、0 位,如此连续写入四次,就得到了一个连续的 32 位数据。...相对而言,行为来自装饰者和基础组件,或与其他装饰者之间的组合关系。例如对于字节流的装饰者模式而言,最内层最原始的字节流方法决定了读写的源头; 3. 字符流 字符流只对文本文件有效。

    67820

    不学无数 — Java 中 IO 和 NIO

    I :就是从 硬盘 将内容读取到 内存 中 O :就是从 内存 将内容读取到 硬盘 中 Java中的I/O操作类在包 java.io 下面,大概将近有80多个类,但是这些类可以分为三组 基于字节操作的I...,其运用到了装饰模式,为其增加一些功能,而Java的I/O复杂也在这,不同的装饰模式创建类的代码也不同。...提高速度 DataInputStream允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型 举个简单使用过滤器进行读取一个文件的内容并输出,例子如下: publicstaticvoidmain...在某些场合,面向字节流 InputStream 和 OutputStream 才是正确的解决方案,特别是在 java.util.zip 类库就是面向字节流而不是面向字符的。...但是,也没办法输出或者读取对象,即是是字符串的对象也不行。这种处理方式虽然很低级,但是正好,因为这是大多数操作系统中更有效的映射方式。

    33110

    【Java 基础篇】深入理解Java字节流:从小白到专家

    读取的数据以整数形式返回,我们将其转换为字符并打印出来。...在实际应用中,确保适当处理文件操作中的异常非常重要,以避免程序崩溃。 Java 字节流的更多用法 在前面的部分中,我们已经介绍了Java字节流的基本用法,包括文件的读取和写入。...通过不断读取和写入数据块,可以有效地复制大型文件。 2. 过滤流 过滤流(Filter Stream)是Java字节流的一种变体,它们可以用于对底层字节流进行包装,添加额外的功能。...这使得我们能够有效地保存和还原对象。 4. 压缩与解压缩 使用Java字节流,你可以轻松地将数据压缩为ZIP或GZIP格式,或者从压缩文件中解压数据。...注意事项 在使用Java字节流处理文件和数据时,有一些重要的注意事项,这些注意事项可以帮助你避免常见的问题和错误。以下是一些需要特别关注的事项: 1. 关闭流 不要忘记关闭已打开的流。

    50540

    IO 流分类

    字节输入流【InputStream】:java.io.InputStream 抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存。它定义了字节输入流的基本共性。 ​ ?...public abstract int read() 从输入流读取数据的下一个字节 public int read(byte b[] b) 从输入流中读取一些字节数,并将它们存储到字节数组b中 public...它定义了字符输入流的基本共性功能方法: public int read() 从输入流读取一个字符 public int read(char cbuf[]) 从输入流中读取一些字符,并将它们存储到字符数组...,是从字符流到字节流的桥梁,他写入数据,并使用指定的字符集将其编码为字符,它的字符集可以由名称指定,也可以接收平台默认的字符集。...继承了 InputStream 将对象从文件中读取使用 * 构造方法: * ObjectInputStream(InputStream in) 创建从指定 InputStream 读取的

    38620

    那些你学了又忘的Java IO(四):字节流

    也就是说如果你想实现一个自定义的输入流或者输出流,在进行类的命名时都需要在结尾加上"Stream"。下面我们按照输入流和输出流来分别举例,通过这些例子让大家了解一些常见的字节流及其使用方式。 1....在InputStream的一些实现类中可以看到使用了pos指针来标记当前读取的位置,每次调用read方法都会导致pos增加1; int read(byte b[]) : 该方法是用于将流中的数据读取到字节数组...b当中,每次读取的字节数据长度为字节数组b的长度,且每次读取的数据都会从字节数组b的开始元素进行写入。...提供这一操作主要是因为在OutputStream的一些子类实现中,写入操作会先写入到缓存区域中,不会立即写入到输出流的目标数据空间,即在这一过程中会出现读写不一致的情况。...需要注意的是这一方法并不能保证数据一定能够写入到目标数据空间,其中一个特例就是文件输出流,由于底层实现是调用的操作系统提供的本地方法,在Java层面只负责将数据提供给操作系统进行对应本地方法的执行,最终是否写入到目标磁盘并不能保证

    50920

    别大意,你可能还没掌握好Java IO

    大部分程序都需要处理一些输入,并由输入产生一些输出,因此Java为我们提供了 java.io 包 作为一个合格的程序开发者,说到 IO 我们并不会陌生,JAVA IO 系统的知识体系如下: ?...因此我们可以看出 Java 中的规定:与输入有关的所有类都应该从 InputStream 继承,与输出有关的所有类都应该从 OutputStream 继承 InputStream 用来表示那些从不同数据源产生输入的类...StringBufferInputStream 已废弃,将String转换成 InputStream FileInputStream 用于从文件中读取信息 PipedInputStream 产生用于写入相关...,解决方法便是在构造函数的时候加上append = true ?...既能读,又能写 从本质上来说,RandomAccessFile 的工作方式类似于把 DataInputStream 和 DataOutputStream 组合起来使用,还添加了一些方法,其中方法getFilePointer

    45110

    IO流总结

    将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。...在java.io包中, java.io.InputStream 表示字节输入流, java.io.OutputStream表示字节输出流,处于java.io包最顶层。...程序说明: 从键盘读入字符,并写入到文件中BufferedReader类的方法:String readLine() 作用:读一行字符串,以回车符为结束。...但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。 ?...str,int off,int len) throws IOException; //将字符串str 中从索引off开始处的len个字符写入输出流 (6) flush( ) //刷空输出流,并输出所有被缓存的字节

    1.3K70

    Java IO 概览

    但是,Java IO不包括网络通信套接字的类,这些类在java network包中,不过,可以使用InputStream和OutputStream读取Socket的输入和输出数据流。...Java IO主要关注从源读取原始数据和将原始数据写入目标,最典型的数据来源和目的地是: Files——文件 Pipes——通道 Network Connections——网络连接 In-memory...IO的本质是数据流,应用可以从流中读取数据,或者写数据到流中,Java IO中的流可以基于字节,也可以基于字符。 ?...InputStream表示有序的字节流,是所有输入字节流的父类,可以理解成一个有序的字节序列,通常从文件读取字节,或者接收网络的字节数据。...InputStream定义了一些基础的输入操作,如读(read)、跳过指定长度(skip)、关闭(close)、可读字节数(available)、标记和重置(mark和reset:用于标记到目前为止已读取数据流中的点

    68720

    【Java基本功】浅析Java中IO流的概念和用法

    就我个人而言,在第一天学习Java IO的时候我就感觉到了一丝疑惑。 为了消除这个疑惑,我试着给输入和输出起一些不一样的别名,让它们从概念上与数据的来源和数据的流向相联系。...以下是最典型的数据源和目标媒介: 文件 管道 网络连接 内存缓存 System.in, System.out, System.error(注:Java标准输入、输出、错误输出) 下面这张图描绘了一个程序从数据源读取数据...类InputStream, OutputStream, Reader 和Writer 一个程序需要InputStream或者Reader从数据源读取数据,需要OutputStream或者Writer将数据写入到目标媒介中...这篇文章不会对每一个技术细节都做出解释,而是会针对文件存取的方法提供给你一些必要的知识点。在之后的文章中,将会更加详细地描述这些方法或者类,包括方法示例等等。...当两个进程之间建立了网络连接之后,他们通信的方式如同操作文件一样:利用InputStream读取数据,利用OutputStream写入数据。

    46620

    Java基础17:Java IO流总结

    就我个人而言,在第一天学习Java IO的时候我就感觉到了一丝疑惑。 为了消除这个疑惑,我试着给输入和输出起一些不一样的别名,让它们从概念上与数据的来源和数据的流向相联系。...以下是最典型的数据源和目标媒介: 文件 管道 网络连接 内存缓存 System.in, System.out, System.error(注:Java标准输入、输出、错误输出) 下面这张图描绘了一个程序从数据源读取数据...类InputStream, OutputStream, Reader 和Writer 一个程序需要InputStream或者Reader从数据源读取数据,需要OutputStream或者Writer将数据写入到目标媒介中...这篇文章不会对每一个技术细节都做出解释,而是会针对文件存取的方法提供给你一些必要的知识点。在之后的文章中,将会更加详细地描述这些方法或者类,包括方法示例等等。...当两个进程之间建立了网络连接之后,他们通信的方式如同操作文件一样:利用InputStream读取数据,利用OutputStream写入数据。

    1K00

    夯实Java基础系列16:一文读懂Java IO流和常见面试题

    就我个人而言,在第一天学习Java IO的时候我就感觉到了一丝疑惑。 为了消除这个疑惑,我试着给输入和输出起一些不一样的别名,让它们从概念上与数据的来源和数据的流向相联系。...以下是最典型的数据源和目标媒介: 文件 管道 网络连接 内存缓存 System.in, System.out, System.error(注:Java标准输入、输出、错误输出) 下面这张图描绘了一个程序从数据源读取数据...类InputStream, OutputStream, Reader 和Writer 一个程序需要InputStream或者Reader从数据源读取数据,需要OutputStream或者Writer将数据写入到目标媒介中...这篇文章不会对每一个技术细节都做出解释,而是会针对文件存取的方法提供给你一些必要的知识点。在之后的文章中,将会更加详细地描述这些方法或者类,包括方法示例等等。...当两个进程之间建立了网络连接之后,他们通信的方式如同操作文件一样:利用InputStream读取数据,利用OutputStream写入数据。

    1.4K21
    领券