什么是 Java 输入/输出?
Java 输入/输出(I/O)用于处理输入并生成文件形式的输出。 Java 使用流的概念,可以实现快速 I/O 操作。
使用java.io包,可以轻松执行所有输入输出操作。
使用输入/输出在 Java 中处理文件
直播
流可以定义为由字节组成的数据序列。它被称为溪流,因为它就像一条持续流动的水流。 Stream 有两种类型:
输入流:用于从源读取数据。这可以是文件、数组、外围设备或套接字。
输出流:用于将数据写入目的地。这可以是文件、数组、外围设备或套接字。
输入流的流程如下所示:
字节流
Java字节流用于执行8位字节的输入和输出。以下是一个使用这两个类将输入文件复制到输出文件的示例 -
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class LearnStream { public static void main(String[] args) throws IOException { var directory = "D://sample/stream/"; var fileInput = new FileInputStream(directory+"input.txt"); var fileOutput = new FileOutputStream(directory+"output.txt"); try{ int i; while((i= fileInput.read())!=-1){ fileOutput.write(i); } } catch (IOException e) { throw new RuntimeException(e); } } }
现在我们有一个包含以下内容的文件 input.txt
Dimas Priyandi Software Developer Java Angular Spring Boot
运行程序,我们得到一个名为output.txt的文件,其中包含以下内容
Dimas Priyandi Software Developer Java Angular Spring Boot
示例
为了更好地理解文件输入流和文件输出流,让我们创建一个新示例,其中有一个名为 count.txt 的输入文件。
count.txt内容如下:
100 90 80 70 60 50 40 30 20 10 0
当文件输入流从文件 count.txt 中读取数值数据时,我们会将其存储在数组中,然后执行求和操作来计算数据的总和。请按照以下程序代码操作:
import java.io.*; public class LeanCount { public static void main(String[] args) throws FileNotFoundException { var directory = "D://sample/stream/"; var fileInput = new FileInputStream(directory+"count.txt"); var fileOutput = new FileOutputStream(directory+"sum.txt"); Integer sum = 0; try{ var reader = new BufferedReader(new InputStreamReader(fileInput)); var outputWriter = new BufferedWriter(new OutputStreamWriter(fileOutput)); String line; while((line=reader.readLine()) !=null){ sum+=Integer.parseInt(line); } reader.close(); outputWriter.write(sum.toString()); outputWriter.close(); } catch (IOException e) { throw new RuntimeException(e); } } }
输出:
550
说明:
总结
Java 的 I/O 流提供了一种处理文件操作的强大方法。通过使用 InputStream 和 OutputStream 及其缓冲对应部分,您可以高效地读取和写入文件。
以上是使用 Java Streams 进行文件输入/输出的技巧的详细内容。更多信息请关注PHP中文网其他相关文章!