Java中IO流函数的用法及应用举例
在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流函数的用法及应用举例,希望对大家有所帮助。
