//Used buffered input.
import java.io.*;
class BufferedInputStreamDemo{
public static void main(String[] args) throws IOException{
String s = "This is a © copyright symbol but this is © not.\n";
byte buf[] = s.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(buf);
BufferedInputStream f = new BufferedInputStream(in);
int c;
boolean marked = false;
while((c=f.read()) !=-1){
switch(c){
case '&':
if(!marked){
f.mark(32);
marked = true;
}else{
marked = false;
}
break;
case ';':
if(marked){
marked = false;
System.out.print("(c)");
}else{
System.out.print((char)c);
}
break;
case ' ':
if(marked){
marked = false;
f.reset();
System.out.print("&");
}else{
System.out.print((char)c);
}
break;
default:
if(!marked){
System.out.print((char)c);
}
break;
}
}
}
}
分享到:
相关推荐
2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
其中,`BufferedOutputStream` 用于创建字节缓冲输出流对象,而 `BufferedInputStream` 用于创建字节缓冲输入流对象。 在构造字节缓冲流对象时,需要传入一个输出流或输入流对象。例如,创建一个字节缓冲输出流对象...
- 在调用`read()`方法时,BufferedInputStream会优先从缓冲区中读取数据,如果缓冲区为空,则会从底层输入流填充缓冲区,直到缓冲区满或者输入流结束。 - 使用`skip()`方法时,BufferedInputStream同样会先尝试在...
2. **创建缓冲输入流**:将`FileInputStream`包装到`BufferedInputStream`中,以实现高效的读取操作。 3. **打开目标文件**:使用`FileOutputStream`创建一个输出流,指向复制的目标文件。 4. **创建缓冲输出流**:...
在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...
Java中的输入流与输出流是Java I/O体系的重要组成部分,它们是Java程序进行数据传输的基础。在Java中,I/O操作被设计为流(Stream)的形式,流是数据的有序序列,可以是从内存到磁盘、从一个文件到另一个文件、甚至从...
- 字节缓冲输入流(BufferedInputStream):通过`new BufferedInputStream(FileInputStream)`创建,例如:`BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt"))`。这个构造方法将...
**BufferedInputStream** 是Java中用于处理字节输入的缓冲流。它扩展了FilterInputStream,并添加了一个内部缓冲区,允许数据一次性读取多个字节,而不是每次只读一个字节。这在处理大文件或频繁读取的小文件时尤其...
- BufferedInputStream:对输入流进行缓冲,提高读取效率。 **2. 输出流(OutputStream)** 输出流同样位于`java.io`包,它是所有写入数据的类的基类。它提供了`write()`方法来写入字节数据。常见的输出流包括: - ...
类似地,`BufferedReader`和`BufferedWriter`是对字符输入流(Reader)和字符输出流(Writer)的缓冲版本。它们在内存中创建了一个字符缓冲区,对于处理文本文件,尤其是大文件时,可以显著提升性能。这两个类也...
2. **字符流**:字符流处理Unicode字符数据,分为字符输入流(Reader)和字符输出流(Writer)。Reader的基类是`java.io.Reader`,Writer的基类是`java.io.Writer`。比如,`FileReader`用于读取字符文件,`...
例如,FileInputStream和FileOutputStream分别代表文件输入流和文件输出流,它们用于读写文件中的字节数据。字节流适用于任何类型的数据,因为所有数据最终都可以转化为字节序列。 ### 2. 字符流 字符流是Java为...
- `BufferedInputStream`:用于字节输入流的缓冲。 - `BufferedOutputStream`:用于字节输出流的缓冲。 2. **针对字符的缓冲输入和输出流**: - `BufferedReader`:用于字符输入流的缓冲。 - `BufferedWriter`...
- **InputStream** 和 **OutputStream**: 这是所有输入流和输出流类的基类,分别代表数据的读取和写入。 - **Reader** 和 **Writer**: 这是处理字符流的基类,适用于文本数据传输。 2. **字节流和字符流** - ...
- `BufferedInputStream(InputStream in)`:创建一个带有默认大小(通常是8192字节)缓冲区的缓冲输入流。 - `BufferedInputStream(InputStream in, int size)`:创建一个具有指定大小缓冲区的缓冲输入流。 **...
为了提高性能,Java提供了一种机制叫做“缓冲流”(BufferedInputStream),它通过在原始输入流和应用程序之间创建一个内存缓冲区来优化读取过程。本文将深入探讨“输入流缓冲效果演示”,以帮助理解如何使用缓冲流...
- 输入流(Input Stream):用于从数据源读取数据,数据源可以是文件、网络连接或其他数据产生器。 - 输出流(Output Stream):用于向目的地写入数据,目的地可能是文件、显示器或其他数据接收器。 2. **流的...
// 文件输入流示例 try (FileInputStream fis = new FileInputStream("input.txt")) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = fis.read(buffer)) != -1) { System.out.write...
3. `java.io.BufferedInputStream`:它包装了一个输入流,增加了缓冲功能,可以一次读取多个字节。 4. `java.io.BufferedOutputStream`:它包装了一个输出流,提供了缓冲功能,允许一次写入多个字节。 实现非文本...
### 创建具有缓冲功能的文件输入流示例 为了创建一个具有缓冲功能的文件输入流,可以采用以下步骤: 1. **创建数据源I/O**:通过 `FileInputStream` 创建一个指向文件的输入流。 2. **创建装饰器I/O**:使用 `...