Java中IO流相关的函数介绍
Java中的IO流是操作输入输出的一种方式,涵盖了文件、网络、内存等多种输入输出方式。Java中的IO流分为字节流和字符流,本文将在此基础上介绍Java中常用的IO流相关的函数。
#### 一、文件的输入输出流
**1. FileInputStream**
FileInputStream是用于读取文件的字节流。它的构造函数可以接收文件名(String类型)或文件对象(File类型)作为参数,在构造函数中指定该文件的路径和名称。通过使用FileInputStream的read()方法,我们可以读取文件的内容并将其存储在字节数组中。
FileInputStream fis = new FileInputStream(new File("file.txt"));
byte[] buffer = new byte[1024];
fis.read(buffer);
**2. FileOutputStream**
FileOutputStream是用于存储文件的字节流,可以向文件中写入数据。它的构造函数可以接收文件名(String类型)或文件对象(File类型)作为参数,在构造函数中指定该文件的路径和名称。通过使用FileOutputStream的write()方法,我们可以将数据存储到文件中。
FileOutputStream fos = new FileOutputStream(new File("file.txt"));
byte[] buffer = "Hello, world".getBytes();
fos.write(buffer, 0, buffer.length);
**3. FileReader**
FileReader是用于读取文件的字符流,它的构造函数可以接收文件名(String类型)或文件对象(File类型)作为参数,在构造函数中指定该文件的路径和名称。使用FileReader的read()方法,我们可以读取文件的内容并将其存储在字符数组中。
FileReader fr = new FileReader(new File("file.txt"));
char[] buffer = new char[1024];
fr.read(buffer);
**4. FileWriter**
FileWriter是用于存储文件的字符流,可以向文件中写入数据。它的构造函数可以接收文件名(String类型)或文件对象(File类型)作为参数,在构造函数中指定该文件的路径和名称。使用FileWriter的write()方法,我们可以将数据存储到文件中。
FileWriter fw = new FileWriter(new File("file.txt"));
char[] buffer = "Hello, world".toCharArray();
fw.write(buffer, 0, buffer.length);
#### 二、网络的输入输出流
**1. Socket**
Socket表示一个客户端与服务器之间的连接,在进行网络输入输出流操作时,必须先创建一个Socket对象。它的构造函数可以接收服务器的IP地址(String类型)和端口号(int类型)作为参数,在构造函数中指定目标服务器的IP地址和端口号。
Socket socket = new Socket("127.0.0.1", 8080);
**2. ServerSocket**
ServerSocket用于创建一个监听的服务器套接字。它的构造函数可以接收端口号(int类型)作为参数,在构造函数中指定本地服务器使用的端口号。
ServerSocket serverSocket = new ServerSocket(8080);
**3. InputStream**
InputStream表示输入流,它是抽象类,用于读取字节流数据。当我们使用Socket的getInputStream()方法或者ServerSocket的accept()方法获取输入流时,都会得到一个InputStream类型的输入流对象。
InputStream inputStream = socket.getInputStream();
**4. OutputStream**
OutputStream表示输出流,它是抽象类,用于写入字节流数据。当我们使用Socket的getOutputStream()方法获取输出流时,都会得到一个OutputStream类型的输出流对象。
OutputStream outputStream = socket.getOutputStream();
#### 三、内存的输入输出流
**1. ByteArrayInputStream**
ByteArrayInputStream是用于读取字节数组的输入流。它的构造函数可以接收一个字节数组作为参数,在构造函数中指定需要读取的字节数组。
byte[] buffer = {1, 2, 3, 4, 5};
ByteArrayInputStream bais = new ByteArrayInputStream(buffer);
**2. ByteArrayOutputStream**
ByteArrayOutputStream是用于写入字节数组的输出流。它的构造函数可以不传入参数,也可以传入一个初始容量,如果调用它的构造函数时没有传入初始容量,那么默认的初始容量为32。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = {1, 2, 3, 4, 5};
baos.write(buffer, 0, buffer.length);
**3. CharArrayReader**
CharArrayReader是用于读取字符数组的输入流。它的构造函数可以接收一个字符数组作为参数,在构造函数中指定需要读取的字符数组。
char[] buffer = {'a', 'b', 'c', 'd', 'e'};
CharArrayReader car = new CharArrayReader(buffer);
**4. CharArrayWriter**
CharArrayWriter是用于写入字符数组的输出流。它的构造函数可以不传入参数,也可以传入一个初始容量,如果调用它的构造函数时没有传入初始容量,那么默认的初始容量为32。
CharArrayWriter caw = new CharArrayWriter();
char[] buffer = {'a', 'b', 'c', 'd', 'e'};
caw.write(buffer, 0, buffer.length);
以上就是Java中常用的IO流相关函数的介绍,希望能够对大家有所帮助。
