Java是一門跨平臺的語言,廣泛應用于各種應用程序中。IO(Input/Output)和Socket是Java提供的兩個重要的API,它們為Java程序提供了快速、可靠的數據處理和通信能力。
IO是Java的核心庫之一,為文件、網絡、內存等各種數據源和目的地提供了流式處理能力。IO庫中最常用的類包括File和FileInputStream,它們可以方便地操作本地文件系統中的文件;另外,ByteArrayInputStream和ByteArrayOutputStream則可以在內存中直接操作二進制數據。對于網絡通信,Java提供了Socket和ServerSocket兩個類。Socket可以用于客戶端向服務器發送數據,而ServerSocket則用于監聽端口并處理客戶端連接請求。
下面是一個簡單的IO讀取本地文件的例子:
import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class FileReadExample { public static void main(String[] args) { try { File file = new File("example.txt"); FileInputStream fis = new FileInputStream(file); byte[] buffer = new byte[1024]; int bytesRead = 0; while ((bytesRead = fis.read(buffer)) != -1) { System.out.println(new String(buffer, 0, bytesRead)); } fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
接下來是一個簡單的Socket客戶端向服務器發送數據的例子:
import java.io.IOException; import java.io.OutputStream; import java.net.Socket; public class SimpleClient { public static void main(String[] args) { String serverName = "localhost"; int port = 8080; try { System.out.println("Connecting to " + serverName + " on port " + port); Socket client = new Socket(serverName, port); System.out.println("Just connected to " + client.getRemoteSocketAddress()); OutputStream outToServer = client.getOutputStream(); outToServer.write("Hello from client".getBytes()); client.close(); } catch (IOException e) { e.printStackTrace(); } } }
以上是Java IO和Socket的簡單介紹和例子,它們為Java程序提供了強大的數據處理和通信能力。