Java函数中的IO操作:如何读写文件、网络通信等
发布时间:2023-06-01 22:30:56
Java是一种面向对象的编程语言,在Java中,IO操作是非常重要的一部分。Java中的IO操作包括:读写文件、网络通信、操作数据库等等。在本文中,我们将着重介绍如何读写文件和网络通信。
一、读写文件
Java中读写文件的方式有很多种,最常见的方式有以下两种:
1. FileInputStream和FileOutputStream
FileInputStream和FileOutputStream是Java中最基本的读写文件的类。 FileInpuStream类从文件输入流读取字节,而FileOutputStream类将字节写入到文件输出流中。下面是读写文件的一个示例:
import java.io.*;
public class FileTest {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
}
}
2. BufferedReader和BufferedWriter
BufferedReader和BufferedWriter是Java中高级读写文件的类,它们提供了更方便的读写操作。下面是使用BufferedReader和BufferedWriter读写文件的一个例子:
import java.io.*;
public class FileTest {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("input.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"));
String line = "";
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
}
}
二、网络通信
Java中的网络通信分为两个方面:客户端和服务器端。Java提供了Socket和ServerSocket两个类,分别对应客户端和服务器端。下面是一个使用Socket和ServerSocket进行网络通信的例子:
1. 服务器端代码
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(8888);
Socket s = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
s.close();
ss.close();
}
}
2. 客户端代码
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket s = new Socket("localhost", 8888);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw.write("Hello world!");
bw.newLine();
bw.flush();
s.close();
}
}
以上就是Java中读写文件和网络通信的基本操作,需要注意的是,在进行IO操作时,需要关闭流等资源。同时,要避免因为文件过大或者数据传输过程中出现异常导致程序崩溃,可通过捕获异常来避免这种情况。
