当前位置: 首页 > 知识库问答 >
问题:

模拟输入流,输入流阅读器和BufferedReader

卫弘义
2023-03-14

我有以下代码:

InputStream inputStream = sftpConfig.getSftpChannel().get(fileAbsolutePath);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)))
String line = bufferedReader.readLine();

我只想模拟这些行,并在bufferedReader中保持灵活性。readLine(),因为我将有多个测试用例,具体取决于行(文件为空,行为空,我只得到一行,我得到几行,等等)。

注意:我使用jsch库访问FTP服务器上的文件,因此方法getSftpChannel()ChannelSftp作为返回类型,而get(fileAbsolutePath)具有InputStream

我正在使用junit 4.12和mockito 3.1.0

提前感谢!

共有1个答案

邵刚洁
2023-03-14

只实例化ByteArrayInputStream实例可能更容易,而不是模拟它并用所需的数据填充它,例如。

var stream = new ByteArrayInputStream("hello".getBytes());

你可以用它来代替你的输入流。

 类似资料:
  • 我目前正试图从服务器读取图像文件,但得到的数据不完整或 这与缓冲区大小有关吗?我已经尝试使用静态大小而不是ContentLength。敬请指教。

  • 主要内容:C++输入流和输出流本教程一开始就提到,C++ 又可以称为“带类的 C”,即可以理解为 C++ 是 C 语言的基础上增加了面向对象(类和对象)。在此基础上,学过 C 语言的读者应该知道,它有一整套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕上输出数据; 使用 fscanf()、fgets() 等函数读取文件中的数据,使

  • 原因:java.lang.IllegalArgumentException:无法检索类路径资源[BZH91AY&SY 90 WT A%l!!9 d N$L]的InputStream: 在org.springframework.beans.propertyeditors.inputstreameditor.setastext(inputstreameditor.java:77)在org.spring

  • 下面我们要讨论流的输入,这是用流读取运算符(即重载的运算符>>)实现的。流读取运算符通常会跳过输人流中的空格、tab键、换行符等等的空白字符,稍后将介绍如何改变这种行为。 当遇到输入流中的文件结束符时,流读取运算符返回0(false);否则,流读取运算符返回对调用该运算符的对象的引用。每个输入流都包含一组用于控制流状态(即格式化、出错状态设置等)的状态位。当输入类型有错时,流读取运算符就会设置输人

  • 本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系

  • 本文向大家介绍浅析Java.IO输入输出流 过滤流 buffer流和data流,包括了浅析Java.IO输入输出流 过滤流 buffer流和data流的使用技巧和注意事项,需要的朋友参考一下 java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题。 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流。 问题引入: 缓冲流为什么比普通的文件字节流效率高? 不带