Java函数中常用的输入输出流操作方法
Java是一种面向对象的编程语言,它提供了一系列的输入输出操作方法,用于读写文件、网络通信、数据库访问等操作。这些输入输出流操作方法是Java编程中非常常用和重要的方法。
一、文件操作输入输出流方法
1. 文件读取
Java提供了FileInputStream类和FileReader类用于从文件中读取数据。FileInputStream类用于读取字节数据,FileReader类用于读取字符数据。
使用FileInputStream类的示例代码:
FileInputStream fis = new FileInputStream("file.txt");
int ch;
while((ch=fis.read()) != -1){
System.out.print((char)ch);
}
fis.close();
使用FileReader类的示例代码:
FileReader fr = new FileReader("file.txt");
int ch;
while((ch=fr.read()) != -1){
System.out.print((char)ch);
}
fr.close();
2. 文件写入
Java提供了FileOutputStream类和FileWriter类用于向文件中写入数据。FileOutputStream类用于写入字节数据,FileWriter类用于写入字符数据。
使用FileOutputStream类的示例代码:
FileOutputStream fos = new FileOutputStream("file.txt");
String str = "Hello World!";
byte[] bytes = str.getBytes();
fos.write(bytes);
fos.close();
使用FileWriter类的示例代码:
FileWriter fw = new FileWriter("file.txt");
String str = "Hello World!";
fw.write(str);
fw.close();
二、网络通信输入输出流方法
Java提供了Socket类和ServerSocket类用于实现网络通信。在进行网络通信时,可以使用InputStream类和OutputStream类进行数据读写操作。
1. 客户端数据读取
使用Socket类和InputStream类的示例代码:
Socket socket = new Socket("127.0.0.1", 8080);
InputStream is = socket.getInputStream();
byte[] bytes = new byte[1024];
int length = is.read(bytes);
String str = new String(bytes, 0, length);
System.out.println(str);
socket.close();
2. 客户端数据写入
使用Socket类和OutputStream类的示例代码:
Socket socket = new Socket("127.0.0.1", 8080);
OutputStream os = socket.getOutputStream();
String str = "Hello World!";
byte[] bytes = str.getBytes();
os.write(bytes);
os.close();
socket.close();
3. 服务端数据读取
使用ServerSocket类和Socket类的示例代码:
ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); InputStream is = socket.getInputStream(); byte[] bytes = new byte[1024]; int length = is.read(bytes); String str = new String(bytes, 0, length); System.out.println(str); socket.close(); serverSocket.close();
4. 服务端数据写入
使用ServerSocket类和Socket类的示例代码:
ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); OutputStream os = socket.getOutputStream(); String str = "Hello World!"; byte[] bytes = str.getBytes(); os.write(bytes); os.close(); socket.close(); serverSocket.close();
三、数据库访问输入输出流方法
Java提供了JDBC(Java Database Connectivity)接口用于操作数据库。在进行数据库访问时,可以使用ResultSet类和PreparedStatement类进行数据读写操作。
1. 数据库数据读取
使用ResultSet类的示例代码:
String sql = "select * from users";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(id + " " + username + " " + password);
}
rs.close();
ps.close();
2. 数据库数据写入
使用PreparedStatement类的示例代码:
String sql = "insert into users(username, password) values(?, ?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, "Tom"); ps.setString(2, "123456"); ps.executeUpdate(); ps.close();
综上所述,Java函数中常用的输入输出流操作方法有文件操作输入输出流方法、网络通信输入输出流方法和数据库访问输入输出流方法。掌握这些方法可以更加方便高效地操作文件、网络和数据库。
