Java中的IO操作:文件读写、网络通信等实例

原创 冷不防 2024-11-13 23:47 122阅读 0赞

Java提供了多种方式来处理IO(输入/输出)操作,包括文件读写和网络通信。以下是一些基本的实例:

文件读写####1. 使用FileInputStreamFileOutputStream读写文件```javaimport java.io.FileInputStream;

import java.io.FileOutputStream;
import java.io.IOException;

public class FileIOExample {
public static void main(String[] args) {
String filePath = “example.txt”;

//写入文件 try (FileOutputStream fos = new FileOutputStream(filePath)) {
fos.write(“Hello, World!”.getBytes());
} catch (IOException e) {
e.printStackTrace();
}

//读取文件 try (FileInputStream fis = new FileInputStream(filePath)) {
int content;
while ((content = fis.read()) != -1) {
System.out.print((char) content);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
####2. 使用`BufferedReader`和`BufferedWriter`读写文件javaimport java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedFileIOExample {
public static void main(String[] args) {
String filePath = “example.txt”;

//写入文件 try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
bw.write(“Hello, World!”);
} catch (IOException e) {
e.printStackTrace();
}

//读取文件 try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
###网络通信####1. 使用`Socket`和`ServerSocket`进行TCP通信javaimport java.io.;
import java.net.
;

public class TCPClientServerExample {
public static void main(String[] args) throws IOException {
//服务器端 try (ServerSocket serverSocket = new ServerSocket(1234)) {
System.out.println(“Server is listening on port1234”);
try (Socket clientSocket = serverSocket.accept()) {
try (BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()))) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(“Client says: “ + inputLine);
out.write(“Server received your message”);
out.newLine();
out.flush();
}
}
}
} catch (IOException e) {
e.printStackTrace();
}

//客户端 try (Socket socket = new Socket(“localhost”,1234);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()))) {
out.write(“Hello from client”);
out.newLine();
out.flush();
String fromServer;
while ((fromServer = in.readLine()) != null) {
System.out.println(“Server says: “ + fromServer);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
####2. 使用`DatagramSocket`和`DatagramPacket`进行UDP通信javaimport java.io.;
import java.net.
;

public class UDPClientServerExample {
public static void main(String[] args) throws IOException {
//服务器端 try (DatagramSocket serverSocket = new DatagramSocket(1234)) {
System.out.println(“Server is listening on port1234”);
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData(),0, receivePacket.getLength());
System.out.println(“RECEIVED: “ + sentence);
} catch (IOException e) {
e.printStackTrace();
}

//客户端 try (DatagramSocket clientSocket = new DatagramSocket()) {
String sentence = “Hello from client”;
byte[] buf = sentence.getBytes();
InetAddress IPAddress = InetAddress.getByName(“localhost”);
DatagramPacket sendPacket = new DatagramPacket(buf, buf.length, IPAddress,1234);
clientSocket.send(sendPacket);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```这些示例展示了Java中基本的文件读写和网络通信操作。在实际应用中,你可能需要根据具体需求进行调整和优化。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读