📜  Java IO: Java中的输入输出与示例(1)

📅  最后修改于: 2023-12-03 15:31:30.961000             🧑  作者: Mango

Java IO:Java中的输入输出与示例

Java是一种对象导向的高级语言,具有强大的输入输出(IO)操作。Java输入输出库提供了各种用于读写文件和网络连接的类和接口。本文将介绍Java的IO体系结构,以及其使用的示例,以便程序员熟悉它们并有效地利用它们。

Java IO体系结构

Java IO体系结构包括以下核心概念:

  1. 流:Java IO体系结构使用流来处理输入输出。流是一系列有序的数据元素,从源到目标的传输称为流。Java中有两种类型的流:字节流和字符流。

  2. 字节和字符:Java将所有数据视为字节序列,并使用字符集将其转换为字符。

  3. InputStream和OutputStream:InputStream和OutputStream是Java中用于字节流的抽象类。InputStream读取数据,而OutputStream写入数据。

  4. Reader和Writer:Reader和Writer是Java中用于字符流的抽象类。Reader读取字符,而Writer写入字符。

  5. 文件IO:Java提供了各种用于读写文件的类和接口,例如FileReader,FileWriter,BufferedReader和BufferedWriter。

  6. 网络IO:Java提供了各种用于读写网络连接的类和接口,例如Socket和ServerSocket。

Java IO示例

以下示例演示了如何使用Java IO库。

读取文件

下面的Java代码演示了如何使用Java IO库从文件中读取:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileDemo {
    public static void main(String[] args) throws IOException {
        String fileName = "file.txt";
        BufferedReader reader = new BufferedReader(new FileReader(fileName));
        String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    }
}
写入文件

下面的Java代码演示了如何使用Java IO库向文件中写入数据:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteFileDemo {
    public static void main(String[] args) throws IOException {
        String fileName = "file.txt";
        String data = "Hello, world!";
        BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
        writer.write(data);
        writer.close();
    }
}
读取网络连接

下面的Java代码演示了如何使用Java IO库从网络连接中读取:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class ReadNetworkDemo {
    public static void main(String[] args) throws IOException {
        String urlString = "https://www.google.com";
        URL url = new URL(urlString);
        URLConnection connection = url.openConnection();
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    }
}
写入网络连接

下面的Java代码演示了如何使用Java IO库向网络连接中写入数据:

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class WriteNetworkDemo {
    public static void main(String[] args) throws Exception {
        String host = "www.google.com";
        int port = 80;
        Socket socket = new Socket(host, port);
        PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
        String data = "GET / HTTP/1.1\r\nHost: " + host + "\r\n\r\n";
        writer.print(data);
        writer.flush();
        socket.close();
    }
}
结论

Java IO库提供了丰富的输入输出功能,可用于处理文件和网络连接。本文介绍了Java IO体系结构以及使用Java IO库的示例。希望本文对Java程序员有所帮助。