java 字节流和字符流 ,分别写两个例子
时间: 2024-05-07 21:18:34 浏览: 102
java字节流和字符流
Java的字节流和字符流是I/O流的两种基本类型,其区别在于字节流以字节为单位读写数据,而字符流以字符为单位读写数据。
下面分别给出一个字节流的例子和一个字符流的例子:
字节流的例子:
```java
import java.io.*;
public class ByteStreamExample {
public static void main(String[] args) {
try {
// 读取文件内容
FileInputStream fis = new FileInputStream("example.txt");
byte[] buffer = new byte[1024];
int length = 0;
while ((length = fis.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, length));
}
fis.close();
// 写入文件内容
String str = "Hello World!";
FileOutputStream fos = new FileOutputStream("example.txt");
fos.write(str.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码使用了Java的FileInputStream和FileOutputStream类来读写文件内容。读取文件内容时,先创建一个FileInputStream对象,然后定义一个缓冲区,每次从文件中读取1024字节的数据,最后将缓冲区中的数据转换成字符串并打印出来。写入文件内容时,先创建一个FileOutputStream对象,然后将字符串转换成字节数组并写入文件中。
字符流的例子:
```java
import java.io.*;
public class CharacterStreamExample {
public static void main(String[] args) {
try {
// 读取文件内容
FileReader fr = new FileReader("example.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
fr.close();
// 写入文件内容
String str = "Hello World!";
FileWriter fw = new FileWriter("example.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(str);
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码使用了Java的FileReader和FileWriter类来读写文件内容。读取文件内容时,先创建一个FileReader对象,然后将其包装成一个BufferedReader对象,每次从文件中读取一行数据,并打印出来。写入文件内容时,先创建一个FileWriter对象,然后将其包装成一个BufferedWriter对象,将字符串写入文件中。注意,写入文件内容时需要调用BufferedWriter的close方法来刷新缓冲区并关闭流。
阅读全文