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

Java中的IO函数及操作示例

发布时间:2023-06-09 17:11:13

Java中的IO(Input/Output)函数可以帮助我们读写文件、网络连接等。在Java中,IO操作经常被使用到,因为它能很好地完成文件读写等任务。

下面介绍Java中常用的IO函数及操作示例:

1. 文件IO操作

文件IO操作是Java中最常用的。File类用于处理文件和目录的抽象路径名。我们创建File对象,进而可以获取文件的属性、读写数据等。

代码示例: 读取文件内容并输出

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

public class FileIOExample {
    public static void main(String[] args) {
        String fileName = "text.txt";
        File file = new File(fileName);
        String line = null;
        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println(e.getMessage());
        }
    }
}

2. 字节流操作

Java中提供了InputStream和OutputStream来操作字节流。在InputStream中,我们可以使用read()方法来读取数据,而在OutputStream中,使用write()方法来写数据。

代码示例: 以字节形式从文件中读取数据并输出

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class ByteIOExample {
    public static void main(String[] args) {
        String fileName = "text.txt";
        try (InputStream in = new FileInputStream(fileName)) {
            int data;
            while ((data = in.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (IOException e) {
            System.err.println(e.getMessage());
        }
    }
}

3. 字符流操作

Java中提供了Reader和Writer来操作字符流。使用Reader可以读取文本文件的数据,并且可以方便地处理文件中各种类型的字符。

代码示例: 以字符形式从文件中读取数据并输出

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

public class CharIOExample {
    public static void main(String[] args) {
        String fileName = "text.txt";
        File file = new File(fileName);
        String line = null;
        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println(e.getMessage());
        }
    }
}

4. 网络IO操作

Java中通过socket和ServerSocket来实现网络IO操作。socket类可以用于创建客户端的网络连接和传输数据。serverSocket类可以用于创建服务器网络连接,等待客户端连接和接收数据。

代码示例: 创建客户端socket并向服务器发送数据

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketIOExample {
    public static void main(String[] args) {
        String host = "127.0.0.1";
        int port = 8000;
        try (Socket client = new Socket(host, port)) {
            OutputStream out = client.getOutputStream();
            String message = "This is a message from client!";
            out.write(message.getBytes());
            out.flush();
        } catch (UnknownHostException e) {
            System.err.println("Unknown host: " + host);
        } catch (IOException e) {
            System.err.println("Failed to connect: " + host + ":" + port);
        }
    }
}

综上所述,Java中的IO函数可以对文件、字节、字符和网络实现读写操作,这些函数是Java开发中必不可少的工具。