java inputstream和outputstream_string java

java inputstream和outputstream_string javaInputStream读取流有三个方法,分别为read(),read(byte[]b),read(byte[]b,intoff,intlen)。其中read()方法是一次读取一个字节,效率是非常低的。所以最好是使用后面两个方法。/***读取流**@paraminStream*@return字节数组*@throwsException*/publicstaticbyte[…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len)。其中read()方法是一次读取一个字节,效率是非常低的。所以最好是使用后面两个方法。

/**

* 读取流

*

* @param inStream

* @return 字节数组

* @throws Exception

*/

public static byte[] readStream(InputStream inStream) throws Exception {

ByteArrayOutputStream outSteam = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];

int len = -1;

while ((len = inStream.read(buffer)) != -1) {

outSteam.write(buffer, 0, len);

}

outSteam.close();

inStream.close();

return outSteam.toByteArray();

}

这里不能使用成:

InputStream is = conn.getInputStream();

PrintStream ps =new PrintStream(new File(“d:/a.txt”));

byte[] buffer = new byte[1024];

while((is.read(buffer,0,byte.length) )) > 0){

ps.write(buffer,0,byte.length);

}

这样会导致输出文件中有很多NULL和乱码。因为实际读到的长度可能没有1024这么长,导致后面用很多NULL来补充,出现乱码等情况。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193058.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月2日 下午10:22
下一篇 2025年12月2日 下午11:01


相关推荐

  • 卷积神经网络CNN算法原理「建议收藏」

    卷积神经网络CNN算法原理「建议收藏」写在前面在上一篇【Deeplearning】卷积神经网络CNN结构中我们简单地介绍了CNN的结构。接下来我们看看这种结构的CNN模型是怎么运行的,包括CNN的前向传播和反向传播算法。1.CNN前向传播算法(1)输入层前向传播到卷积层输入层的前向传播是CNN前向传播算法的第一步。一般输入层对应的都是卷积层,因此我们标题是输入层前向传播到卷积层。我们这里还是以图像识别为例。先考虑…

    2025年8月28日
    9
  • ue4封装接口_ue4导出模型

    ue4封装接口_ue4导出模型原创文章,转载请注明出处。本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。1>新建一个Plugin2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。3>对其进行编译,编译出不同模式的dll出来4>在UE4场景中测试我们Log函数5>删除cpp文件6>在我们的.build.cs中添加不参数编译的参数bUsePrecompiled=true;7>再到UE4场景中测试我们L

    2026年4月16日
    13
  • 使用redis实现分布式锁

    使用redis实现分布式锁简介 当高并发访问某个接口的时候 如果这个接口访问的数据库中的资源 并且你的数据库事务级别是可重复读 Repeatablere 的话 确实是没有线程问题的 因为数据库锁的级别就够了 但是如果这个接口需要访问一个静态变量 静态代码块 全局缓存的中的资源或者 redis 中的资源的时候 就会出现线程安全的问题 案例 github 地址 https github com mzd123 myw

    2026年3月19日
    2
  • VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件

    VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件Vue 是一个轻量级的渐进式框架 对于它的一些特性和优点在此就不做赘述 本篇文章主要来探讨一下 Vue 子父组件通信的问题首先我们先搭好开发环境 我们首先得装好 git 和 npm 这两个工具环境搭建步骤 打开 git 运行 npminstallgl cli 这是安装 vue 的命令行 vueinitwebpa demo 这是 vue 基于 webpack 的模板项目

    2026年3月18日
    2
  • Linux-awk数组

    Linux-awk数组linuxawk数组

    2022年7月19日
    17
  • 『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]

    『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]文章目录引导法引导程序的配置引导程序APIBootstrap方法是一种重采样技术,用于通过对数据集进行替换采样来估计总体统计数据。它可用于估计汇总统计数据,例如均值或标准差。它在应用机器学习中用于在对未包含在训练数据中的数据进行预测时估计机器学习模型的技能。估计机器学习模型技能的结果的一个理想特性是可以用置信区间表示估计的技能,这是其他方法(例如交叉验证)不容易获得的特征。在本文中您将发现用于估计机器学习模型对未知数据的技能的引导重采样方法。bootstrap方法涉及对数据集进行迭代重采样

    2026年4月13日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号