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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • netstat详解「建议收藏」

    netstat详解「建议收藏」netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。语法:netstat[选项]参数:-a或–all:显示所有连线中的Socket;-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;-c或–continuous:持续列出网络状态;-C…

    2022年7月23日
    10
  • lm算法讲解_m算法

    lm算法讲解_m算法请问MATLAB中LM算法(Levenberg-Marquard-algorithm)的函数是什么?。http://www.mathworks.com/matlabcentral/fileexchange/16063-lmfsolve-m-levenberg-.%.去看吧好像没有二维的.你最好看看这个函数,根据LM算法的意义修改一下计算方法:用来产生一些数据片段(例如消息或会话项)的哈…

    2022年10月1日
    3
  • 手机修改域名服务器,手机修改域名服务器ip地址

    手机修改域名服务器,手机修改域名服务器ip地址手机修改域名服务器ip地址内容精选换一换安装依赖时,使用pip3.7.5installxxx命令安装相关软件时提示无法连接网络,且提示“Couldnotfindaversionthatsatisfiestherequirementxxx”,提示信息如下所示。没有配置pip源。配置pip源,配置方法如下:如果提示目录不存在,则执行如下命令创建:在.pip目录安装依赖时,使用p…

    2022年6月16日
    31
  • c++ 时间类型详解(time_t和tm)

    c++ 时间类型详解(time_t和tm)Unix时间戳(Unixtimestamp),或称Unix时间(Unixtime)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广告采用。目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Uni

    2025年5月23日
    3
  • 几种页面跳转方法_HTML页面跳转的方法

    几种页面跳转方法_HTML页面跳转的方法页面跳转方式1——herf在一些html的文档中,用herf实现页面跳转的比较常见,也很好用。页面跳转方式2——利用表单action页面跳转方式3——response.sendRedirect(

    2022年8月5日
    23
  • C语言的整型溢出问题 int、long、long long取值范围 最大最小值「建议收藏」

    C语言的整型溢出问题 int、long、long long取值范围 最大最小值「建议收藏」溢出和取值范围C语言的整型溢出问题整数溢出int、longint、longlongint占用字节疑问《C和指针》中写过:long与int:标准只规定long不小于int的长度,int不小于short的长度。double与int类型的存储机制不同,longint的8个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,类似科学计数法,因此double比

    2022年6月3日
    42

发表回复

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

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