Java函数的输入输出流处理和文件读写
在Java中,输入输出流(I/O)是用来处理数据流的机制。I/O通常用于将数据从一个源传输到另一个目的地。其中输入流用于从外部读入数据,输出流用于将数据输出到外部。这篇文章主要介绍Java函数的I/O流处理和文件读写。
1. 函数I/O流处理
函数I/O流处理是指将I/O流与函数相结合,从而实现函数的输入输出功能。
1.1 函数的输入
在Java中,读取函数的输入可以使用Scanner类和BufferedReader类。
1.1.1 Scanner类
Scanner类可以从输入流中读取基本类型数据和字符串。使用Scanner类时,需要创建Scanner类的对象,并将输入流作为参数传递给该对象。
以下是使用Scanner类读取输入流并向函数中传递参数的例子:
import java.util.Scanner;
public class Example{
public static void main(String [] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入参数a: ");
int a = scanner.nextInt(); // 读取一个整数
System.out.print("请输入参数b: ");
int b = scanner.nextInt(); // 读取一个整数
int sum = add(a,b); // 调用add函数,将a和b作为参数传递给函数
System.out.println("a+b的和为: " + sum);
}
public static int add(int a, int b) {
return a+b;
}
}
1.1.2 BufferedReader类
BufferedReader类可以从输入流中读取字符数据。使用BufferedReader类时,需要创建BufferedReader类的对象,并将输入流作为参数传递给该对象。
以下是使用BufferedReader类读取输入流并向函数中传递参数的例子:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Example {
public static void main(String [] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入参数a: ");
int a = Integer.parseInt(reader.readLine()); // 读取一行数据并将其转换为整数类型
System.out.print("请输入参数b: ");
int b = Integer.parseInt(reader.readLine()); // 读取一行数据并将其转换为整数类型
int sum = add(a,b); // 调用add函数,将a和b作为参数传递给函数
System.out.println("a+b的和为: " + sum);
}
public static int add(int a, int b) {
return a+b;
}
}
1.2 函数的输出
在Java中,将函数的输出写入到输出流中可以使用System.out.print()、System.out.println()和PrintWriter类。
1.2.1 System.out.print()和System.out.println()
使用System.out.print()和System.out.println()可以将函数的输出打印到控制台上。
以下是使用System.out.print()和System.out.println()将函数的输出打印到控制台上的例子:
public class Example {
public static void main(String [] args) {
int a = 10;
int b = 20;
int sum = add(a,b);
System.out.print("a+b的和为: ");
System.out.println(sum);
}
public static int add(int a, int b) {
return a+b;
}
}
1.2.2 PrintWriter类
使用PrintWriter类可以将函数的输出写入到输出流中。使用PrintWriter类时,需要创建PrintWriter类的对象,并将输出流作为参数传递给该对象。
以下是使用PrintWriter类将函数的输出写入到文件中的例子:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Example {
public static void main(String [] args) throws IOException {
int a = 10;
int b = 20;
int sum = add(a,b);
PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
writer.println("a+b的和为: " + sum);
writer.close();
}
public static int add(int a, int b) {
return a+b;
}
}
2. 文件读写
Java中的文件读写可以使用InputStream类和OutputStream类实现。其中InputStream类用于从文件中读取数据流,OutputStream类用于将数据流写入到文件中。
2.1 文件输入流
使用InputStream类可以从文件中读取数据流。在Java中,FileInputStream类继承了InputStream类,可以用于从文件中读取数据。
以下是使用FileInputStream类从文件中读取数据流的例子:
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public static void main(String [] args) throws IOException {
FileInputStream inputStream = new FileInputStream("input.txt");
byte [] data = new byte[inputStream.available()];
inputStream.read(data);
System.out.println(new String(data));
inputStream.close();
}
}
2.2 文件输出流
使用OutputStream类可以将数据流写入到文件中。在Java中,FileOutputStream类继承了OutputStream类,可以用于将数据流写入到文件中。
以下是使用FileOutputStream类将数据流写入到文件中的例子:
import java.io.FileOutputStream;
import java.io.IOException;
public class Example {
public static void main(String [] args) throws IOException {
FileOutputStream outputStream = new FileOutputStream("output.txt");
String data = "Hello, world!";
outputStream.write(data.getBytes());
outputStream.close();
}
}
在Java中,可以将文件输入流和文件输出流结合使用,实现文件的拷贝。
以下是使用文件输入流和文件输出流实现文件拷贝的例子:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Example {
public static void main(String [] args) throws IOException {
FileInputStream inputStream = new FileInputStream("input.txt");
FileOutputStream outputStream = new FileOutputStream("output.txt");
byte [] data = new byte[inputStream.available()];
inputStream.read(data);
outputStream.write(data);
inputStream.close();
outputStream.close();
}
}
以上是介绍Java函数的I/O流处理和文件读写的内容。在开发Java应用程序时,输入输出流和文件读写是非常重要的功能,也是近年来新开发的基本功能之一。希望对读者有所帮助。
