Java 流(Stream)、文件(File)和IO

2023-12-13 13:14:38

标题:Java 流(Stream)、文件(File)和IO

介绍:
在 Java 编程中,流(Stream)、文件(File)和IO(Input/Output)是非常重要的概念,它们允许我们从不同的数据源读取数据或将数据写入不同的目标。本文将重点介绍 Java 中的流操作、文件操作和IO操作,并提供一些示例代码。

流(Stream):
Java 流(Stream)是一个连续的数据流,用于在程序和数据源之间传输数据。流的主要目的是使数据处理更加高效和灵活。Java8 引入的新的流(Stream)API提供了更多的操作和函数式编程的支持。

下面是一个简单的代码示例,展示了如何使用Java Stream:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("John", "Jane", "Tom", "Alice");

        List<String> filteredNames = names.stream()
                .filter(name -> name.startsWith("J"))
                .collect(Collectors.toList());

        System.out.println(filteredNames);
    }
}

以上代码创建了一个包含一些名字的字符串列表。使用流的 filter 操作,我们筛选出以字母 “J” 开头的名字,并将结果收集到另一个列表中。最后,我们将筛选后的名字列表打印出来。

文件(File):
Java 中的文件操作提供了读取和写入文件的功能。可以使用 java.io.File 类进行文件的基本操作,例如创建、删除、重命名和判断文件属性等。另外,可以使用 java.nio.file 包中的类进行更高级的文件操作,例如文件复制、移动和文件夹遍历等。

下面是一个简单的代码示例,演示了如何读取文件的内容并输出到控制台:

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

public class FileExample {
    public static void main(String[] args) {
        String filePath = "path/to/file.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上代码使用 java.io.FileReader 类从指定文件中读取行,并将其逐行打印到控制台。

IO(Input/Output):
Java 中的IO操作用于读取输入和写入输出。可以使用 java.io 包中的类和接口进行简单的IO操作。例如,InputStream 用于从输入源读取字节数据,OutputStream 用于将字节数据写入输出目标。

以下是一个简单的代码示例,展示了如何使用 InputStreamOutputStream 从URL读取数据并将其写入文件:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

public class IOExample {
    public static void main(String[] args) {
        String url = "https://example.com/image.jpg";
        String filePath = "path/to/image.jpg";

        try (InputStream in = new URL(url).openStream(); 
             FileOutputStream out = new FileOutputStream(filePath)) {
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = in.read(buffer)) != -1) {
                out.write(buffer, 0, bytesRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上代码使用 java.net.URL 类从指定的 URL 读取数据,并使用 java.io.FileOutputStream 将数据写入指定的文件。

总结:
本文介绍了 Java 中的流(Stream)、文件(File)和IO(Input/Output)的概念和基本操作,并提供了相应的示例代码。通过使用流操作,我们可以高效地处理数据流;文件操作让我们能够读取和写入文件;IO操作则用于读取输入和写入输出数据。这些概念和操作是在 Java 编程中非常常见和实用的,希望本文能对读者有所帮助。

文章来源:https://blog.csdn.net/wsrzsfgst/article/details/134958717
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。