`

Java文件操作之一 - 流的概述与读取文件

阅读更多
在Java中文件的读取和写入操作都通过流(stream)来进行。
我们对于流并不陌生,因为在C++中已经有了这个概念。

在Java中,最主要的四个流如下:

读取:
InputStream
Reader

写入:
OutputStream
Writer


Stream用来处理单纯的字节,而Reader和Writer用来处理Unicode。
例如,当我们需要读写中文的时候,我们就需要使用Reader和Writer。

例如,我们需要对某个文件进行缓冲读取的时候,可以这样:

DataInputStream din = new DataInputStream(
  new BufferedInputStream(
    new FileInputStream("文件完整路径")));


读取简单纯英文字符文件的代码:
package corejava2.io.stream;

import java.io.*;

public class InputStreamTest {
	
	public static void main(String[] args) {
		try {
			DataInputStream din = new DataInputStream(
					new BufferedInputStream(
							new FileInputStream("E:\\test_stream.txt")));
			
			int c;
			while ((c = din.read()) != -1)
				System.out.print((char) c);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}


读取带有中文的Unicode字符文件的代码:
package corejava2.io.reader;

import java.io.*;

public class InputStreamReaderTest {
	public static void main(String[] args) {
		try {
			InputStreamReader in = new InputStreamReader(
					new FileInputStream("E:\\test_stream.txt"));
			
			int c;
			while ((c = in.read()) != -1)
				System.out.print((char) c);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    java 二进制文件的读写操作

    ### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...

    目录多文件上传-JAVA IO流常用详解

    本文将详细介绍一个Java程序中的功能模块——如何实现目录多文件上传,并利用Java IO流进行文件复制操作。该功能可以实现在用户选择一个目录后,自动扫描并上传该目录下的所有文件及其子文件夹,最终达到完整备份或...

    Java输入输出流及文件读写详解

    在Java中,输入输出流是进行文件读写操作的基础,通过理解和掌握`java.io`包中的类体系结构,开发者可以更加灵活地处理各种文件操作。无论是简单的文件读写还是复杂的网络通信,都能够基于这些基础构建出高效的应用...

    java文件路径获取

    - **Classpath**: 是Java运行环境的一个重要概念,它指定了Java虚拟机(JVM)加载类和资源文件的路径。 - **Resource**: 在Java中通常指的是类路径下的文件,如配置文件、图片等非可执行代码的文件。 - **URL**: ...

    Java中的流与文件

    ### Java中的流与文件 #### 1. Java流概述 在Java编程中,流(Stream)是一种用于处理数据的抽象概念,它可以将数据看作是一系列连续的字节或字符流。流的概念非常重要,因为它提供了从文件、网络和其他来源读取数据...

    Java课程设计报告书-学生版-1_I/O流与文件课程设计_

    本课程设计报告书——“Java课程设计报告书-学生版-1_I/O流与文件课程设计_”旨在帮助学生深入理解并掌握如何在Java中进行文件操作,通过实际的实验案例来学习文件对象和流类的应用。 一、Java I/O流概述 Java的I/O...

    java读取shp文件代码

    ### Java读取SHP文件及DBF属性的关键技术解析 #### 概述 在地理信息系统(GIS)领域,Shapefile是一种常见的矢量数据格式,用于存储地理位置信息及相关属性数据。一个完整的Shapefile由多个文件组成,包括.shp、....

    Java实践-使用文件流操作文本文件.pdf

    ### Java实践-使用文件流操作文本文件 #### 知识点概述 1. **文件流的概念**:在Java中,文件流是用来处理文件输入输出的基本工具。它支持数据的读取与写入,对于实现数据持久化和进行输入输出操作至关重要。 2. *...

    poi.zip java读取excel文件

    Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...

    Java:二进制方式读取文件

    在Java中,处理文件的二进制读写是非常常见的操作。本篇文章将基于提供的代码示例,深入探讨如何使用`FileInputStream`和`FileOutputStream`进行二进制文件的读取和写入,并分析其中的关键点和技术细节。 #### 关键...

    java大文件读取-乔乐共享

    内存映射文件是一种特殊的文件处理方式,它能够将文件的一部分或者全部映射到内存地址空间中,从而允许程序像访问内存一样读写文件中的数据。这种方法特别适合处理大文件,因为它可以减少文件I/O操作,提高读写效率...

    [史上最全] 文件处理工具类 java版 处理文件流, 文件目录递归等

    该类封装了50多个与文件相关的操作方法,简化了开发人员在文件操作方面的负担,无需手动处理文件流的关闭或连接池等问题,极大提高了代码的可读性和可维护性。 #### 二、核心功能 ##### 1. 文件路径解析 `...

    Java语言深入文件和流

    在Java编程语言中,数据流通常指的是程序与外部设备(如磁盘文件)之间的数据交换过程。Java提供了强大的输入输出(I/O)系统来处理各种数据流,包括文件读写、网络通信等。Java的I/O系统主要由两大类构成:`...

    java 将文件中二进制文件转换成文本文本文件并输出

    1. **打开二进制文件**:使用`FileInputStream`类打开二进制文件,创建一个字节输入流。 2. **读取字节**:使用`read()`方法从输入流中读取字节。`read()`方法返回的是一个int值,范围在-1到255之间,-1表示文件末尾...

    hdf5文件结构以及基于java的读写

    为了在 Java 中进行 HDF 文件的读写操作,可以使用 HDF Group 提供的 HDF5 Java 库。以下是一些关键步骤: 1. **引入 HDF5 Java 库**:首先需要将 HDF5 Java 库添加到项目中。 2. **创建 HDF5 文件**:使用 `H5.H5...

    java 使用流下载文件

    本文将详细介绍如何利用Java的流(Stream)技术实现文件的下载操作,并解释代码中的各个部分及其工作原理。 #### 二、知识点详解 ##### 2.1 文件路径与对象创建 在给定的示例代码中,首先定义了文件路径和文件名...

    607.605.JAVA基础教程_IO流与网络编程-复习:IO流概述(607).rar

    本教程主要针对IO流的概述进行复习,帮助学习者理解和掌握这一关键概念。 1. 字节流:字节流处理的是单个字节的数据,包括InputStream和OutputStream家族。InputStream用于读取数据,如 FileInputStream 用于读取...

    完整版Java全套入门培训课件 Java基础 01-Java概述(共31页).rar

    - Java的IO流系统提供了读写文件、网络通信的能力。 - 流分为字节流和字符流,如FileInputStream/FOutputStream、FileReader/Writer等。 12. **集合框架** - List、Set和Map接口,以及其实现类如ArrayList、...

    Java文件操作案例源码.rar

    这个"Java文件操作案例源码.rar"压缩包提供了关于Java中IO流(Input/Output Stream)使用的实例代码,这对于我们深入理解和掌握Java文件处理非常有帮助。 1. **Java IO流概述**: Java IO流是一组类和接口,它们...

Global site tag (gtag.js) - Google Analytics