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

Java函数中常用的输入输出流操作方法

发布时间:2023-06-07 10:04:53

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函数中常用的输入输出流操作方法有文件操作输入输出流方法、网络通信输入输出流方法和数据库访问输入输出流方法。掌握这些方法可以更加方便高效地操作文件、网络和数据库。