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

JavaI/O函数:如何读取和写入文件、网络流等外部数据源。

发布时间:2023-06-08 18:19:07

Java是一种面向对象的编程语言,它提供了大量的函数和类来处理输入输出。Java I/O函数是Java语言中用于处理输入输出数据的一组函数。Java I/O函数可以帮助我们读取和写入文件、网络流等外部数据源。

Java I/O函数可以读取各种类型的文件,包括文本文件、二进制文件等。读取文件的方式有两种:一种是按字节读取,一种是按字符读取。按字节读取使用InputStream类和OutputStream类,按字符读取使用Reader类和Writer类。以下是Java I/O函数读取文件的示例:

按字节读取文件:

try {
    InputStream fis = new FileInputStream("file.txt");
    int bytes;
    while ((bytes = fis.read()) != -1) {
        System.out.print((char) bytes);
    }
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

按字符读取文件:

try {
    BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
    String line = reader.readLine();
    while (line != null) {
        System.out.println(line);
        line = reader.readLine();
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}

Java I/O函数还可以写入数据到文件中。要写入数据到文件中,我们也可以使用OutputStream类和Writer类。以下是Java I/O函数写入文件的示例:

按字节写入文件:

try {
    OutputStream fos = new FileOutputStream("file.txt");
    String str = "Hello, World!";
    byte[] bytes = str.getBytes();
    fos.write(bytes);
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

按字符写入文件:

try {
    BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));
    writer.write("Hello, World!");
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

Java I/O函数还可以处理网络流数据。Java I/O函数提供了Socket类和ServerSocket类来处理TCP/IP协议的数据。以下是Java I/O函数处理网络流的示例:

客户端代码:

try {
    Socket socket = new Socket("localhost", 1234);
    OutputStream os = socket.getOutputStream();
    String str = "Hello, World!";
    byte[] bytes = str.getBytes();
    os.write(bytes);
    os.close();
    socket.close();
} catch (IOException e) {
    e.printStackTrace();
}

服务端代码:

try {
    ServerSocket server = new ServerSocket(1234);
    Socket socket = server.accept();
    InputStream is = socket.getInputStream();
    byte[] bytes = new byte[1024];
    int len;
    while ((len = is.read(bytes)) != -1) {
        System.out.println(new String(bytes, 0, len));
    }
    is.close();
    socket.close();
    server.close();
} catch (IOException e) {
    e.printStackTrace();
}

总结来说,Java I/O函数是Java语言中用于处理输入输出数据的一组函数。Java I/O函数可以帮助我们读取和写入文件、网络流等外部数据源。通过示例代码,我们可以更好地理解Java I/O函数的使用方法。