JAVA——流(Stream)输入输出流

什么是流?

什么是流(Stream),流就是一系列的数据
流是个抽象的概念,是对输入输出设备的抽象,当不同的介质之间有数据交互的时候,JAVA就使用流来实现。
数据源可以是文件,还可以是数据库,网络甚至时候其他的程序
比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流
输入流:InputStream
输出流:OutputStream

文件输入/输出流:

建立一个文件输入流,这个流可以用来把数据从硬盘的文件读取到JVM(虚拟机)内
这段代码只是建立一个流,并没有开始读取操作

建立一个文件输出流,这个流可以用来把内存中的数据写入到硬盘的文件中
这段代码只是建立一个流,并没有开始写入操作;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class TestStream {
   

    public static void main(String[] args) throws FileNotFoundException {
   

        // 创建基于文件的输入流
        File file = new File("D:\\CloudMusic\\测试小说输入.txt");

        // 通过这个输入流,就可以把数据从硬盘,读取到Java的虚拟机中来,也就是读取到内存中
        FileInputStream fileInputStream=new FileInputStream(file);


        //创建基于文件的输出流
        File file1 = new File("D:\\CloudMusic\\测试小说输出.txt");
        //通过这个输出流,就可以将内存中的数据,输出到硬盘的文件中
        FileOutputStream fileOutputStream = new FileOutputStream(file1);

    }
}
字节输入/输出流:

InputStream字节输入流
OutputStream字节输出流
用于以字节的形式读取和写入数据

以字节流的形式 读取文件内容/向文件写入内容
字节流读取:

InputStream是字节输入流,同时也是抽象类,只提供方法的声明,不提供方法的实现,FileInputStream是InputStream的子类,以FileInputSream为例进行文件读取:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class TestStream {
   

    public static void main(String[] args) throws IOException {
   
        //准备文件  测试.txt  其中的内容为ABCD
        File f = new File("D:/CloudMusic/测试.txt");
        //创建基于文件的输入流
        FileInputStream fis=
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java StreamJava 8新引入的一种处理集合数据的抽象概念。它允许我们以声明性的方式对数据进行操作,而不是通过传统的循环和条件语句。Stream可以被看作是一种高级迭代器,它可以串行或并行地处理数据,并且提供了很多用于数据处理的方法,比如过滤、映射、排序、归约等。 生成Stream的方式有多种。一种常见的方式是通过集合的stream()方法或parallelStream()方法来创建一个顺序或并行,如下所示: List<String> list = Arrays.asList("a", "b", "c"); Stream<String> stream = list.stream(); // 创建一个顺序 Stream<String> parallelStream = list.parallelStream(); // 创建一个并行 另一种方式是通过Stream中的静态方法of()、iterate()和generate()来创建。of()方法可以将一组元素直接转换为,iterate()方法可以生成一个无限并进行迭代操作,generate()方法可以生成一个无限并使用提供的Supplier函数生成元素。下面是使用这些方法的示例: Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 6); Stream<Integer> stream2 = Stream.iterate(0, (x) -> x < 10, (x) -> x + 2); // 创建一个从0开始每次增加2的无限,并截取前5个元素 Stream<Double> stream3 = Stream.generate(Math::random).limit(3); // 创建一个包含3个随机数的 回答完问题后,我再提几个相关问题: 相关问题: 1. Stream的优势是什么? 2. Stream与传统的循环有什么不同? 3. 如何使用Stream进行数据的筛选和过滤? 4. Stream中的映射操作有哪些方法可以使用?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值