Java中的输入输出(IO)函数及示例
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官方文档中查看。
