使用Java中的IO函数进行文件和网络操作
发布时间:2023-11-22 23:34:56
Java提供了丰富的IO函数,可以进行文件和网络操作。下面将介绍一些常用的IO函数。
文件操作:
1. FileReader和BufferedReader函数用于读取文本文件。FileReader用于创建一个读取文件的流,而BufferedReader用于缓冲读取,提高效率。
try {
FileReader fileReader = new FileReader("file.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
2. FileWriter和BufferedWriter函数用于写入文本文件。FileWriter用于创建一个写入文件的流,而BufferedWriter用于缓冲写入,提高效率。
try {
FileWriter fileWriter = new FileWriter("file.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("Hello, world!");
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
3. FileInputStream和FileOutputStream函数用于读取和写入二进制文件。类似于FileReader和FileWriter,它们也可以用于创建流,并实现读取和写入文件的功能。
try {
FileInputStream fileInputStream = new FileInputStream("file.bin");
FileOutputStream fileOutputStream = new FileOutputStream("file.bin");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, bytesRead);
}
fileInputStream.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
网络操作:
1. Socket和ServerSocket函数用于进行TCP/IP网络通信。Socket用于创建一个客户端套接字,而ServerSocket用于创建一个服务器套接字。
try {
Socket socket = new Socket("localhost", 8080);
OutputStream outputStream = socket.getOutputStream();
outputStream.write("Hello, server!".getBytes());
outputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int bytesRead = inputStream.read(buffer);
String message = new String(buffer, 0, bytesRead);
System.out.println("Received message: " + message);
inputStream.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
2. URL和URLConnection函数用于进行HTTP网络通信。URL用于创建一个URL对象,而URLConnection用于建立与服务器的连接。
try {
URL url = new URL("http://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
InputStream inputStream = connection.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
以上是一些常用的Java IO函数,它们可以帮助我们进行文件和网络操作。可以根据具体的需求选择适合的函数,并在必要时进行错误处理。在实际应用中,还可以通过多线程和异步等方式提高IO操作的效率。
