读取文本内容方式:
1. 字节流方式, 使用FileInputStream类
2. 字符流方式, 使用FileReader类
如果如本文所示, 仅仅只是读取文本内容的话, 几乎都是用的字符流方式.
相对于字节流方式来说,字符流方式会更加方便.
扩展内容: 但是, 这也不是说FileInputStream没有它的价值.
我们经常涉及的都是从文件中读取数据,以字符的形式显示出来.
不过有些文件则必须用FileInputStream读取, 例如: 图像文件, 流媒体文件等.
这个时候,就得使用字符流方式读取文件内容.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @TODO 读取文本内容
* @author jarg
* @creatTime: 2010-12-29 下午08:00:40
* @belongTo: com.jarg.io
* @version 1.0
*/
public class FileInput
{
public static void main(String[] args) throws IOException
{
/**
* 字节流方式
* */
FileInputStream fi = new FileInputStream("temp.txt");
InputStreamReader ir = new InputStreamReader(fi);
BufferedReader br = new BufferedReader(ir);
display(br);
/**
* 字符流方式
* */
FileReader fr = new FileReader("temp.txt");
BufferedReader br2 = new BufferedReader(fr);
display(br2);
}
/**
* @throws IOException
* @TODO 输出文本内容
*/
public static void display(BufferedReader br) throws IOException
{
String output;
while((output = br.readLine()) != null)
{
System.out.println(output);
}
}
}
分享到:
相关推荐
本篇文章将详细探讨IO流中的字节流、字符流以及文本流。 首先,我们来了解一下**字节流**。字节流是最基础的IO流类型,分为输入字节流(InputStream)和输出字节流(OutputStream)。它们处理的数据单位是字节,...
在Java编程语言中,输入/输出(I/O)操作是处理数据流的关键部分,而字符流与字节流则是实现这些操作的两种基本方式。理解它们的区别和应用场景对于任何Java开发者来说都是至关重要的。 ### 字节流 字节流是最基本...
例如, FileReader和FileWriter是用于读取和写入文件的字符流,它们提供了一种更高效且方便的方式来处理文本内容。 字节流和字符流之间的转换是通过InputStreamReader和OutputStreamWriter实现的。...
字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 首先,我们来看字节流。字节流由...
例如,当你需要从一个字节流读取文本数据时,可以先创建一个InputStreamReader,指定所需的字符集,然后用它来创建一个BufferedReader,这样就可以按字符读取文本了。 在实际开发中,我们通常会结合使用各种流类,...
### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...
Java中的字节流和字符流是IO操作中的两种基本类型,它们主要用于数据的输入和输出。字节流处理的数据单位是字节,而字符流处理的是Unicode字符。 字节流: 字节流主要由两个核心类构成:`InputStream`和`...
以下是一个使用`BufferedReader`和`InputStreamReader`结合字节流读取文本文件逐行的示例: ```java import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; public ...
在Java编程语言中,`字节流`和`字符流`是进行输入/输出操作的基础,主要用于处理数据的传输。这两个概念是Java IO系统的核心,它们允许程序与外部设备(如硬盘、网络、内存等)交换信息。在这个压缩包中,你将找到...
当用于处理文本数据时,选择字符流比字节流更好。但对只出路基本数据类型的开发者,可以继续使用字节流。所有的读操作都继承自一个公共超类 java.io.Reader 类。所有的写操作都继承自一个公共超类 java.io.Writer 类...
在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...
### Java IO字符流和字节流详解 #### 一、引言 在Java编程中,输入输出(简称IO)操作是十分重要的一个方面。通过IO操作,我们可以读取文件、网络数据、用户输入等,也可以将数据写入到文件、网络、控制台等。Java...
Java的IO流是按照数据的流向分为输入流和输出流,按照数据类型分为字节流和字符流。字节流处理的是二进制数据,适用于任何类型的文件,包括文本文件和非文本文件(如图片、音频、视频等)。字符流则用于处理字符数据...
在处理文本数据时,如果使用字节流,需要考虑到字符编码问题,因为字节流不关心字符编码,而字符流默认使用平台的默认字符集。 实验中,练习六要求使用字节流复制文件,这通常涉及到读取源文件的字节数据,然后将其...
例如,我们可以使用PrintWriter类来方便地输出文本内容: ```java import java.io.*; public class WriterDemo { public static void main(String[] args) throws IOException { File file = new File("d:" + ...
字节流适合处理任何类型的二进制数据,而字符流适用于处理文本数据。同时,为了提高效率,通常会使用缓冲流(`BufferedInputStream/BufferedOutputStream`和`BufferedReader/BufferedWriter`)来批量读写数据,而...
例如,当需要从一个字节流读取以UTF-8编码的文本时,可以使用 InputStreamReader 构造函数指定编码,然后将其与 FileInputStream 连接。 ### IODemo 示例 在IODemo实例中,可能会包含以下操作: 1. 使用...
lua_lpack是一个用于序列化和反序列化数据的库,它提供了一种高效的方式来打包和解包字节流,非常适合用于网络消息的编码和解码。 lua_lpack库的核心在于它的打包和解包函数。打包函数允许我们将 Lua 变量转换为...
在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。字节流主要用于处理任何类型的二进制数据,如图片、音频、视频等,而字符流则专为处理基于Unicode编码的...