1. java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。
2. 从标准输入流System.in中直接读取使用者输入时,使用者每输入一个字符,System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了BufferedReader来对使用者输入的字符进行缓冲。readLine()方法会在读取到使用者的换行字符时,再一次将整行字符串传入。
3. System.in是一个位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。例如:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
下面的示例示范了BufferedReader和BufferedWriter的使用。可以在文字模式下输入字符,程序会将输入的文字存储至指定的文件中,如果要结束程序,输入quit字符串即可。
package ysu.hxy;
import java.util.*;
import java.io.*;
public class BufferedReaderWriterDemo
{
public static void main(String[] args)
{
try
{
//缓冲System.in输入流
//System.in是位流,可以通过InputStreamReader将其转换为字符流
BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));
//缓冲FileWriter
BufferedWriter bufWriter = new BufferedWriter(new FileWriter(args[0]));
String input = null;
//每读一行进行一次写入动作
while(!(input = bufReader.readLine()).equals("quit"))
{
bufWriter.write(input);
//newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符
bufWriter.newLine();
}
bufReader.close();
bufWriter.close();
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("没有指定文件");
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
运行结果:
D:\hxy>java ysu.hxy.BufferedReaderWriterDemo test2.txt
fsdafjads;fa
fasdfas
asdfdaf
asd
fdas
fds
fa
df
asdf
dasff
adsf
a
fasd
quit
会在目录下产生一个文件test2.txt,并在其中写入刚才输入的内容。
分享到:
相关推荐
在Java编程语言中,`BufferedReader`和`BufferedWriter`是两个非常重要的I/O流类,用于提高读写操作的效率。它们属于字符流,主要用于处理文本数据,相较于原始的`InputStream`和`OutputStream`,这两个类通过内部...
在Java编程语言中,`BufferedReader`和`BufferedWriter`是两个非常重要的类,它们分别位于`java.io`包中,用于提高字符输入和输出的效率。这两个类继承自抽象基类`Reader`和`Writer`,为读写操作提供了缓冲区功能。 ...
在使用时,先创建BufferedReader和BufferedWriter实例,然后将它们与FileReader和FileWriter关联,通过readLine()和write()方法实现文本文件的复制。 下面是一个简单的使用FileReader、BufferedReader和...
文件读写 BufferedReader BufferedWriter 去除代码后面空格 简单 readLine newLine flush
- **BufferedReader/BufferedWriter Example**:通过添加BufferedReader和BufferedWriter,可以一次处理更多数据,减少系统调用,提高性能。 6. **I/O流的链** Java允许将多个流链接在一起,形成流的链。例如,...
本篇内容介绍了Java文件处理的核心类,包括File类、FileReader和FileWriter、BufferedReader和BufferedWriter、FileInputStream和FileOutputStream以及PrintWriter等。通过这些类,开发者能够高效地操作文本文件和二...
"文件流的读取与写入"这个主题主要涵盖了如何使用Java中的BufferedReader和BufferedWriter类来高效地处理文件内容。这两个类属于Java.io包,它们提供了缓冲功能,可以提高文件操作的性能。 BufferedReader是用于...
3. 按功能:流还可以分为节点流(如FileInputStream和FileOutputStream)和处理流(如BufferedReader和BufferedWriter)。节点流直接连接到数据源或目标,而处理流通常用于增强或包装其他流,提供更高效、便捷的功能...
以下是一个简单的从一个文件复制到另一个文件的示例,使用了BufferedReader和BufferedWriter: ```java try { BufferedReader reader = new BufferedReader(new FileReader("source.txt")); BufferedWriter writer...
首先,Java的字符流分为输入流(InputStreamReader, BufferedReader)和输出流(OutputStreamWriter, BufferedWriter)。InputStreamReader和OutputStreamWriter是基础的字节到字符的转换流,它们分别用于读取和写入...
* 流类库的使用:包括使用 BufferedReader 和 BufferedWriter 实现文件读写操作,使用 System.in 获取用户输入等。 * 文件读写操作:包括将用户输入的文字写入到文件中,并从文件中读取数据。 * 对象流的使用:包括...
字符流主要有InputStreamReader、OutputStreamWriter、BufferedReader和BufferedWriter等类,它们分别用于读取和写入字符数据,并通过Buffered类提高性能。 2. 缓冲流(Buffered Stream):BufferedInputStream、...
BufferedReader和BufferedWriter是Java中的字符流,它们通过内部缓冲区提高读写效率。BufferedWriter的write方法用于写入字符或字符串,而BufferedReader的readLine方法则用于读取文本文件的一行内容。 接下来是...
2. 为了提高性能,创建对应的BufferedReader和BufferedWriter,分别包装FileInputStream和FileOutputStream。 3. 使用BufferedReader的readLine()方法逐行读取源文件内容,直到返回null表示文件读取完毕。 4. 对每行...
4. 缓冲区:为了提高性能,Java提供了一种机制,即通过BufferedInputStream、BufferedOutputStream、BufferedReader和BufferedWriter等类,将数据先存放在内存缓冲区,一次性处理大量数据,减少频繁的物理I/O操作。...
这些基类提供了读写数据的基本方法,但通常我们不会直接使用它们,而是使用它们的子类,如FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等,这些子类提供了更强大的功能和性能优化。...
我们使用了 BufferedReader 和 BufferedWriter 类来实现信息的读取和发送。 本次实验报告的目的是掌握 Java.IO 和 Java.Net 包的用法,并设计、实施及调试一个基于 Socket 的聊天程序。实验结果表明,本次实验的...
3. BufferedReader和BufferedWriter:这两个是缓冲字符流,提供缓冲区来提高读写效率。 4. DataInputStream和DataOutputStream:用于处理基本数据类型的输入输出。 5. ObjectInputStream和ObjectOutputStream:处理...
字符流处理Unicode字符序列,有Reader和Writer系列,如BufferedReader和BufferedWriter用于高效读写文本文件。 Java IO系统还包括对象序列化和反序列化的ObjectInputStream和ObjectOutputStream,用于将对象转换为...
例如,使用FileInputStream和FileOutputStream读写文件,或者使用BufferedReader和BufferedWriter进行高效的文本文件操作。 总之,Java的输入输出流系统是其强大功能的重要组成部分,允许开发者灵活地处理各种数据...