package cn.itcast.p3.io.filereader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
//需求:读取一个文本文件。将读取到的字符打印到控制台.
public class FileReaderDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//1,创建读取字符数据的流对象。
/*
* 在创建读取流对象时,必须要明确被读取的文件。一定要确定该文件是存在的。
*
* 用一个读取流关联一个已存在文件。
*/
FileReader fr = new FileReader("demo.txt");
int ch = 0;
while((ch=fr.read())!=-1){
System.out.println((char)ch);
}
/*
//用Reader中的read方法读取字符。
int ch = fr.read();
System.out.println((char)ch);
int ch1 = fr.read();
System.out.println(ch1);
int ch2 = fr.read();
System.out.println(ch2);
*/
fr.close();
}
}
package cn.itcast.p3.io.filereader;
import java.io.FileReader;
import java.io.IOException;
//需求:读取一个文本文件。将读取到的字符打印到控制台.
public class FileReaderDemo2 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("demo.txt");
/*
* 使用read(char[])读取文本文件数据。
*
* 先创建字符数组。
*/
//由于一次读1024个字节
char[] buf = new char[1024];
int len = 0;
//于是循环次数大大降低
while((len=fr.read(buf))!=-1){
System.out.println(new String(buf,0,len));
}
/*
int num = fr.read(buf);//将读取到的字符存储到数组中。
System.out.println(num+":"+new String(buf,0,num));
int num1 = fr.read(buf);//将读取到的字符存储到数组中。
System.out.println(num1+":"+new String(buf,0,num1));
int num2 = fr.read(buf);//将读取到的字符存储到数组中。
System.out.println(num2+":"+new String(buf));
*/
fr.close();
}
}
分享到:
相关推荐
- Reader:所有字符输入流的基类,从源读取字符。 - CharArrayReader:从字符数组创建的字符输入流。 - StringReader:从字符串创建的字符输入流。 - FileReader:从文件读取字符,使用系统的默认字符编码。 - ...
- InputStreamReader:字符输入流的转换器,用于将字节流转换为字符流,支持不同字符编码。例如,使用FileInputStream读取文件时,可以配合InputStreamReader指定字符编码。 - OutputStreamWriter:字符输出流的...
- Reader是所有字符输入流的基类,例如: - InputStreamReader:将字节流转换为字符流,通常与InputStream一起使用。 - BufferedReader:提供缓冲的字符读取,可以按行读取文本。 - FileReader:直接从文件读取...
例如,DataInputStream可以读取基本类型的Java数据类型,BufferedInputStream使用缓冲技术提高效率,LineNumberInputStream记录输入流中的行数。这些过滤流可以在原有流的基础上增加额外的功能,比如缓存、格式化或...
在这个“黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习)”中,毕向东老师将深入讲解如何使用Java IO流来读取文本文件。Java IO流提供了多种类和方法,使得开发者可以灵活高效地处理输入和输出...
`Reader`和`Writer`是所有字符输入流和输出流的基类。 - 示例:`BufferedReader`和`BufferedWriter`提供了缓冲功能,提高读写效率;` FileReader`和`FileWriter`专门用于读写文件中的字符数据。 3. **缓冲流**: ...
在Java编程语言中,输入/输出(I/O)操作是处理数据流的关键部分,而字符流与字节流则是实现这些操作的两种基本方式。理解它们的区别和应用场景对于任何Java开发者来说都是至关重要的。 ### 字节流 字节流是最基本...
InputStreamReader是将字节输入流转换为字符输入流,而OutputStreamWriter则反之。 **5. 对象序列化与反序列化** Java还支持对象的输入流(ObjectInputStream)和输出流(ObjectOutputStream),它们允许将Java对象...
Java的字符输入流(Char Input Stream)和字符输出流(Char Output Stream)体系结构如下: 1. **字符输入流体系结构**: - `BufferedReader`:高效地读取字符数据,使用缓冲区。 - `CharArrayReader`:从字符...
- **Reader/Writer**:字符输入流和字符输出流是字符流的基类,它们处理字符数据。例如, FileReader和FileWriter分别用于读取和写入文本文件。 - **InputStreamReader/OutputStreamWriter**:字节到字符的桥梁,...
- `BufferedReader`:带缓冲的字符输入流,提高读取效率。 - `InputStreamReader`:将字节流转换为字符流,通常用于将`InputStream`转换为`Reader`。 - 特殊子类如`FileReader`和`FilterReader`等,提供特定场景...
2. DataInputStream:从输入流中读取基本数据类型,如 int、float、double 或者甚至一行文本 3. LineNumberInputStream:在翻译行结束符的基础上,维护一个计数器,该计数器表明正在读取的是哪一行 4. ...
- Reader:所有字符输入流的超类,处理字符数据。FileReader是直接从文件读取字符的实现。 - Writer:所有字符输出流的超类,用于写入字符数据。FileWriter则用于向文件写入字符。 - BufferedReader和...
`Reader`类是所有字符输入流的抽象基类,而`Writer`类则代表所有字符输出流的基类。它们都位于`java.io`包下。 1. **`Reader`类**: - `InputStreamReader`:它是从字节流到字符流的桥梁,可以指定字符编码,例如...
在Java中,IO流分为字符流和字节流两大类,每类又包含输入流(InputStream/Reader)和输出流(OutputStream/Writer)。本教程主要针对IO流的概述进行复习,帮助学习者理解和掌握这一关键概念。 1. 字节流:字节流...
- `BufferedReader`: 带缓冲区的字符输入流,提高读取效率。 - `LineNumberReader`: 继承自`BufferedReader`,记录行号。 - `CharArrayReader`: 用于从字符数组中读取数据。 - `InputStreamReader`: 用于将字节...
与FileWriter类似,FileReader也有多种构造方法,可以使用文件路径或文件名来创建一个字符输入流。通过使用Reader类的子类,我们能够读取存储在不同字符编码格式的文本文件。 最后,Properties类在Java中用于处理...
- `Reader`:字符输入流,用于读取字符数据。 - `Writer`:字符输出流,用于写入字符数据。 #### 四、常用IO流类介绍 1. **InputStream/OutputStream** - `InputStream`: 输入流的基类。 - `...
Reader是所有字符输入流的基类,如 FileReader,它可以从文件读取字符;而Writer是所有字符输出流的基类,如 FileWriter,用于向文件写入字符。字符流主要用于处理文本数据,如文本文件、XML文档等。 Java IO库设计...