Java,编写一个带缓存的对文本文件进行读写操作的程序。 (1)可以读取不同位置的信息 (2)可以把数据写入到不同的位置
时间: 2024-05-16 20:17:47 浏览: 159
以下是一个简单的带缓存的对文本文件进行读写操作的 Java 程序,可以读取不同位置的信息,也可以把数据写入到不同的位置。
```java
import java.io.*;
public class FileCache {
private String fileName;
private int cacheSize;
private byte[] cache;
public FileCache(String fileName, int cacheSize) {
this.fileName = fileName;
this.cacheSize = cacheSize;
this.cache = new byte[cacheSize];
}
public String read(int position, int length) throws IOException {
FileInputStream fis = new FileInputStream(fileName);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.skip(position);
byte[] data = new byte[length];
bis.read(data);
bis.close();
return new String(data);
}
public void write(int position, String data) throws IOException {
FileOutputStream fos = new FileOutputStream(fileName);
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] bytes = data.getBytes();
bos.write(bytes, position, bytes.length);
bos.close();
}
}
```
在上面的代码中,`FileCache` 类有一个构造函数,参数为文件名和缓存大小。`read` 方法可以读取指定位置和长度的信息,`write` 方法可以将数据写入指定位置。
使用示例:
```java
public static void main(String[] args) throws IOException {
FileCache fileCache = new FileCache("test.txt", 1024);
fileCache.write(0, "Hello, world!");
String data = fileCache.read(0, 13);
System.out.println(data);
}
```
这段代码将会在文件 `test.txt` 中写入字符串 `Hello, world!`,然后再从文件中读取前 13 个字符,并输出到控制台上。
阅读全文