欢迎访问宙启技术站
智能推送

Java中IO流函数的用法及应用举例

发布时间:2023-05-26 05:24:15

在Java中,IO流函数是用来处理输入和输出数据的函数。它们可以读取和写入文件、网络连接等。IO流函数有多种类型,包括字节流和字符流。下面将介绍IO流函数的用法及应用举例:

1. FileInputStream

FileInputStream是Java中用于读取文件的输入流,它可以读取字节数据。下面是一个使用FileInputStream的例子:

FileInputStream fis = new FileInputStream("test.txt");
int content;
while ((content = fis.read()) != -1) {
    System.out.print((char) content);
}
fis.close();

在上面的例子中,我们使用FileInputStream从文件中读取字节数据,并将其转换为字符数据输出。当读取到文件末尾时,read方法返回-1。

2. FileOutputStream

FileOutputStream是Java中用于写入文件的输出流,它可以写入字节数据。下面是一个使用FileOutputStream的例子:

FileOutputStream fos = new FileOutputStream("test.txt");
String content = "Hello, world!";
fos.write(content.getBytes());
fos.close();

在上面的例子中,我们使用FileOutputStream将字符串“Hello, world!”写入文件test.txt中。

3. BufferedReader

BufferedReader是Java中用于读取字符数据的输入流。它可以一次读取一行数据。下面是一个使用BufferedReader的例子:

BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();

在上面的例子中,我们使用BufferedReader从文件中读取字符数据,并将其输出到控制台上。

4. BufferedWriter

BufferedWriter是Java中用于写入字符数据的输出流。它可以写入一行数据。下面是一个使用BufferedWriter的例子:

BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
String content = "Hello, world!";
bw.write(content);
bw.newLine();
bw.close();

在上面的例子中,我们使用BufferedWriter将字符串“Hello, world!”写入文件test.txt中,并在字符串的末尾添加了一个空行。

5. InputStreamReader

InputStreamReader是Java中用于将字节流转换为字符流的类。它接受一个InputStream对象,并将其转换为Reader对象。下面是一个使用InputStreamReader的例子:

InputStream is = new FileInputStream("test.txt");
Reader reader = new InputStreamReader(is);
BufferedReader br = new BufferedReader(reader);
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();

在上面的例子中,我们使用InputStreamReader将字节流转换为字符流,并使用BufferedReader读取字符流中的数据。

6. OutputStreamWriter

OutputStreamWriter是Java中用于将字符流转换为字节流的类。它接受一个OutputStream对象,并将其转换为Writer对象。下面是一个使用OutputStreamWriter的例子:

OutputStream os = new FileOutputStream("test.txt");
Writer writer = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(writer);
String content = "Hello, world!";
bw.write(content);
bw.newLine();
bw.close();

在上面的例子中,我们使用OutputStreamWriter将字符流转换为字节流,并使用BufferedWriter将字符串“Hello, world!”写入文件test.txt中。

7. ByteArrayInputStream

ByteArrayInputStream是Java中用于从字节数组中读取数据的类。下面是一个使用ByteArrayInputStream的例子:

byte[] bytes = "Hello, world!".getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
int content;
while ((content = bais.read()) != -1) {
    System.out.print((char) content);
}
bais.close();

在上面的例子中,我们使用ByteArrayInputStream从字节数组中读取数据,并将其转换为字符数据输出。

8. ByteArrayOutputStream

ByteArrayOutputStream是Java中用于将数据写入字节数组的类。下面是一个使用ByteArrayOutputStream的例子:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
String content = "Hello, world!";
baos.write(content.getBytes());
byte[] bytes = baos.toByteArray();
baos.close();

在上面的例子中,我们使用ByteArrayOutputStream将字符串“Hello, world!”写入字节数组中,并将其转换为字节数组输出。

总结:

Java中的IO流函数非常强大,它们可以处理各种不同类型的输入和输出数据。在实际应用中,我们可以根据不同的需求选择不同的IO流函数来处理数据。以上是一些常见的IO流函数的用法及应用举例,希望对大家有所帮助。