在JAVA中 运用/ O流、字节流和字符流的输入输出流等相关知识进行代码的编写,带有详细过程
时间: 2024-02-11 17:04:11 浏览: 67
详解JAVA 字节流和字符流
好的,以下是一份 Java 输入输出流的示例代码,包括字节流和字符流:
1. 字节流
字节流可以用于读写二进制文件或者文本文件,比如 InputStream 和 OutputStream。
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamDemo {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt")) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用 FileInputStream 读取 input.txt 文件中的字节流,使用 FileOutputStream 将读取到的字节流写入到 output.txt 文件中。其中,我们使用了 try-with-resources 语法,可以自动关闭资源,避免了手动关闭资源的麻烦。
2. 字符流
字符流可以用于读写文本文件,比如 Reader 和 Writer。
```java
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CharStreamDemo {
public static void main(String[] args) {
try (FileReader fr = new FileReader("input.txt");
FileWriter fw = new FileWriter("output.txt")) {
char[] buffer = new char[1024];
int len;
while ((len = fr.read(buffer)) != -1) {
fw.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用 FileReader 读取 input.txt 文件中的字符流,使用 FileWriter 将读取到的字符流写入到 output.txt 文件中。同样地,我们使用了 try-with-resources 语法,可以自动关闭资源。
3. 缓冲流
为了提高读写性能,我们可以使用缓冲流,比如 BufferedInputStream 和 BufferedOutputStream,BufferedReader 和 BufferedWriter。
```java
import java.io.*;
public class BufferedStreamDemo {
public static void main(String[] args) {
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("input.txt"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("output.txt"))) {
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
public class BufferedReaderDemo {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("input.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
char[] buffer = new char[1024];
int len;
while ((len = br.read(buffer)) != -1) {
bw.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用了 BufferedInputStream 和 BufferedOutputStream,BufferedReader 和 BufferedWriter,提高了读写性能。同样地,我们使用了 try-with-resources 语法,可以自动关闭资源。
希望这份代码能够帮助到你。
阅读全文