1.编写Java程序,将键盘输入的内容写入到文本文件(*.txt)中。要求:结合BufferedWriter缓冲流实现。 2.编写Java程序,利用RandomAccessFile类对二进制文件进行读、写操作。
时间: 2024-05-05 08:22:29 浏览: 93
1.实现将键盘输入的内容写入到文本文件中的Java程序:
```java
import java.io.*;
public class WriteToFile {
public static void main(String[] args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
writer.flush();
}
writer.close();
reader.close();
System.out.println("输入内容已写入到output.txt文件中。");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2.实现利用RandomAccessFile类对二进制文件进行读、写操作的Java程序:
```java
import java.io.*;
import java.util.Arrays;
public class BinaryFileReadWrite {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("binaryfile.txt", "rw");
byte[] bytesToWrite = {1, 2, 3, 4, 5};
file.write(bytesToWrite);
byte[] bytesToRead = new byte[5];
file.seek(0);
file.read(bytesToRead);
System.out.println("读取的内容:" + Arrays.toString(bytesToRead));
file.seek(2);
byte[] bytesToInsert = {10, 11, 12};
byte[] remainingBytes = new byte[3];
int remainingBytesLength = file.read(remainingBytes);
file.seek(2);
file.write(bytesToInsert);
file.write(remainingBytes, 0, remainingBytesLength);
System.out.println("插入数据后的内容:" + Arrays.toString(file.readAllBytes()));
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序演示了如何使用`RandomAccessFile`类对二进制文件进行读、写操作,包括写入数据、读取数据以及在指定位置插入数据。这个程序创建了一个名为`binaryfile.txt`的文件,向文件中写入了`{1, 2, 3, 4, 5}`这个字节数组,然后从文件的开头读取了5个字节到名为`bytesToRead`的字节数组中,并将其打印出来。接着,程序将指针移动到文件的第2个位置,插入了`{10, 11, 12}`这个字节数组,并将剩余的3个字节读取到`remainingBytes`字节数组中,最后将`bytesToInsert`和`remainingBytes`写回到文件中,得到了`{1, 2, 10, 11, 12, 4, 5}`这个字节数组,并将其打印出来。
阅读全文