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

Java中的输入输出(IO)函数及示例

发布时间:2023-06-11 17:07:30

Java中的输入输出(IO)函数通常用于与外部世界的通信。在Java中,通常使用Java IO类库进行输入输出操作。Java IO类库提供了一组类和接口来处理各种输入输出需求和方式。

Java中的输入输出通常分为两种:字节流和字符流。字节流(InputStream和OutputStream)是基于字节的输入输出方式,这种方式通常被用于读写二进制数据,如图片、视频等。而字符流(Reader和Writer)是基于字符的输入输出方式,这种方式通常被用于读写文本文件。

下面是一些常见的Java IO输入输出函数的例子:

1. 标准输入输出(System.in和System.out)

System.in和System.out是Java中最基础的输入输出方式,其中System.in表示标准输入,通常是键盘输入,而System.out表示标准输出,通常是控制台输出。下述示例演示了如何读取用户的命令行输入,并输出到控制台。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.println("Please enter your name:");

        Scanner scanner = new Scanner(System.in);

        String name = scanner.next();

        System.out.println("Your name is " + name);

    }

}

在上述示例中,Scanner类从System.in读取输入。通过next()函数,它读取用户从键盘输入的下一个单词或字符串,并存储在变量name中。最后,Java通过System.out将所输入的名称输出到控制台。

2. 文件输入输出

Java提供了许多函数用于读写文件。下例展示了如何读取文件输入并将其输出:

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

public class Main {

    public static void main(String[] args) {

        try {

            FileInputStream inputFile = new FileInputStream("input.txt");

            int c;

            while ((c = inputFile.read()) != -1) {

                System.out.print((char) c);

            }

            inputFile.close();

        } catch (FileNotFoundException e) {

            System.err.println("File not found");

        } catch (IOException e) {

            System.err.println("IOException occurred");

        }

    }

}

在上例中,Java使用FileInputStream读取名为"input.txt"的文件。read()函数读取文件中的每个字节并将其存储在c变量中,直到达到文件末尾。最后,Java通过System.out将所读取的文件输入输出到控制台。

3. 网络输入输出

Java中的网络通讯通常和Socket相关。下例展示了如何使用Java对外部TCP服务器进行网络输入输出:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

public class Main {

    public static void main(String[] args) {

        try {

            Socket s = new Socket("hostname", 12345); // 连接hostname上的端口12345

            PrintWriter out = new PrintWriter(s.getOutputStream(), true);

            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));

            out.println("Hello server!");

            String response = in.readLine();

            System.out.println("Server response: " + response);

            s.close();

        } catch (IOException e) {

            System.err.println("IOException occurred");

        }

    }

}

以上代码展示了如何使用Java的Socket类连接到网络(名为"hostname")上的TCP服务器,然后从服务器的输出流中获得反馈。读取到的反馈信息被输出到控制台。当完成网络输入输出之后,需要关闭Socket(及其相关的输入输出流)。

Java中的输入输出函数有多种方式,每种方式都适用于不同类型的需求。以上展示了其中的一些示例,更多详细的信息可以在Java官方文档中查看。