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

使用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操作的效率。