InputStream中的available()方法的使用问题 [问题点数:40分,结帖人iHTML]

Bbs5
本版专家分:2191
结帖率 98.04%
Bbs1
本版专家分:36
Bbs7
本版专家分:22470
Java网络编程中inputStream.available()的使用方法
如果服务器发来的字节流没有作任何标记,只是在发完一次数据后flush(),则在客户端可以用inputStream.<em>available</em>()来判断流的长度,但一定要在调用read()至少一次之后,不然就只能得到零值。实例代码如下: //通过BLOB对象获得一个InputStreamInputStream input = imageblob.getBinaryStream();// Se
利用FileInputStream中 available方法实现复制文件的操作
class hello { public static void main(String[] args) throws ParseException, IOException { FileInputStream input = new FileInputStream(&quot;C:\\Users\\Lee\\Desktop\\001.jpg&quot;); FileOutputStream out...
InputStream类的available()方法获取流的长度问题
InputStream类的<em>available</em>()<em>方法</em>我们上传文件时经常会用到<em>available</em>来读取字节,能知道有多少个字节需要读取,这个<em>方法</em>从本地文件读取数据时一般不会出现<em>问题</em>,但是通过网路传输就会出现图片传输不完整的情况,因为网络通讯是间断性的一串字节往往分几批进行发送。本地程序调用<em>available</em>()<em>方法</em>有时得到0,这可能是对方还没有响应,也可能是对方已经响应了,但是数据还没有送达本地。对...
InputStream类available和read方法可能读取不到完整的流数据
1、<em>问题</em>描述 项目需要一个将网络流InputStream转换为byte[]数组的<em>方法</em>,于是从网上找了下面的<em>方法</em>: private byte[] toByteArray(InputStream input) throws IOException { byte[] buffer = new byte[(int) in.<em>available</em>()]; in.read(buffer)
FileInputStream的available() 方法的作用:返回的实际可读字节数,也就是总大小
java虚拟机中的字符是Unicode编码,占两个字符,假如一个txt文档内容为abcde是ASCII码,那么每个字符就是一个字节,所以共5个字节。①如果要从网络中下载文件时,我们知道网络是不稳定的,也就是说网络下载时,read()<em>方法</em>是阻塞的,说明这时我们用inputStream.<em>available</em>()获取不到文件的总大小。此时就需要通过HttpURLConnection httpconn =
使用FileInputStream的available方法,导致读取的文件流为0
先看看源码 @Override public int <em>available</em>() throws IOException { return IoBridge.<em>available</em>(fd); }返回的是int型的值 看代码HttpEntity streamEntity = new InputStreamEntity(fs,fs.<em>available</em>());如果文件大小超过
InputStream类的available()方法获取流的长度
转载请注明出处:http://my.oschina.net/smile622/blog/108863要一次读取多个字节时,经常用到InputStream.<em>available</em>()<em>方法</em>,这个<em>方法</em>可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个<em>方法</em>用在从本地文件读取数据时,一般不会遇到<em>问题</em>,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明发来了100
文件读写遇到InputStream.available()一直返回0
InputStream lastRevision = af.extractLastRevision(name);             if (null == lastRevision)                 return 1;                          ByteArrayOutputStream out = new ByteArrayOutputS
关于inputStream.available()方法获取下载文件的总大小
关于inputStream.<em>available</em>()<em>方法</em>获取下载文件的总大小 博客分类:  java AndroidJDKApache    Java代码        如果用inputStream对象的<em>available</em>()<em>方法</em>获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小。  
Android USB通讯中FileInputStream函数available()无法使用时,read()阻塞的解决
<em>available</em>()无法<em>使用</em>在进行USB UsbAccessory 转RS232通讯时<em>使用</em>UsbManager usbmanager = (UsbManager) (context.getSystemService(Context.USB_SERVICE)); if(usbAccessory==null)return false; parcelFileDescriptor = usbmanage...
Socket编程中的inputstream阻塞问题
socket通信中的<em>inputstream</em>阻塞<em>问题</em>
问问InputStream 的 available方法??
<em>available</em>rnpublic int <em>available</em>()throws IOExceptionrnrn返回此输入流<em>方法</em>的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。下一个调用方可能是同一个线程,也可能是另一个线程。 rnrn//类 InputStream 的 <em>available</em> <em>方法</em>总是返回 0。//=====》?? rnrn此<em>方法</em>应该由子类重写。 rnrn返回:rn可以不受阻塞地从此输入流读取的字节数。 rn抛出: rnIOException - 如果发生 I/O 错误。rnrnrnrnrn类 InputStream 的 <em>available</em> <em>方法</em>总是返回 0//???rn//======================rn总是返回 0? 是什么意思啊? rn<em>available</em> <em>方法</em>不就是返回可用的字节个数吗?rnrnrn
解决InputStream中数据读取不完整问题
如果你要看这篇文章,希望你对inputStream流的读取已经有所了解。
available()方法使用总结
先看看API的说明: public int <em>available</em>() throws IOException 返回此输入流下一个<em>方法</em>调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。下一个调用可能是同一个线程,也可能是另一个线程。一次读取或跳过此估计数个字节不会受阻塞,但读取或跳过的字节数可能小于该数。 注意:有些 InputStream 的实现将返
ZipInputStream和RSA算法的纠葛
背景以前有一篇文章介绍过系统升级操作的实现流程:通过上传zip压缩包、并通过RMI方式调用另一个Java程序执行upgrade.sh脚本完成的。其中有一个系统版本信息校验的逻辑,版本信息是一段xml信息经过RSA算法加密,直接打包到zip文件中。系统升级操作,首先对zip文件中的版本描述信息进行解密。存在一个诡异的<em>问题</em>,只有我本机的360压缩工具生成的zip文件,直接密文并解密才不会出错,而winR
关于inputStream 对象重复使用的解决方法
/** * 读取输入流数据 * //此<em>方法</em>是用于缓存H5网络请求数据,解决inputStream对象不能重复复用的<em>问题</em> */ public static byte[] streamToData(InputStream uristream) { ByteArrayOutputStream outStream = null; try
Socket连接时Input.available()报空指针错误
在<em>使用</em>socket获取输入流读取数据时,总是提示空指针。获取输入流getInputstream()和创建socket是在一个线程中执行,又创建一个线程处理输入流中的数据。然后就会报错。 public class ReceiveThread implements Runnable { @Override public void run() { while (true) {
【Bug】InputStream 不可重复读
在向分布式文件系统(fastdfs)上传图片时,图片损坏。 ClientGlobal.init(&amp;quot;fdfs_client.properties&amp;quot;); TrackerClient trackerClient = new TrackerClient(); TrackerServer trackerServer = trackerClient.getConnection...
从FileInputStream读取文件页码后,文件流被改变
如下代码,fis在读取文件页码操作后实际已被改变,若仍然用此对象,获取到的md5有误,为空或一固定值d41d8cd98f00b204e9800998ecf8427e 处理<em>方法</em>多设置一个fis2,用于后续操作 FileInputStream fis = (FileInputStream) f.getInputStream(); FileInputStream fis2 = (FileInput
I/O流学习--InputStream下的常用方法
本文介绍一些读取文件的常用<em>方法</em>,代码如下: skip<em>方法</em>:从输入流中跳过参数n指定数目的字节: package com.jredu.InputStream; /** * skip的<em>使用</em> */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;
关于 InputStream 和 FileInputStream 的available()
今天写了一个小程序:从网上读取一个图片到一个字节数组中。rnrn代码大致如下:rnrnimport java.io.*;rnimport java.net.*;rnimport java.sql.*;rnrnpublic class FileTestrnrn public static void main(String[] args) rn rn String remoteFile = "http://192.168.2.242/haha.GIF";rn String localFileName = "HEHE.GIF";rn int bytesum=0;rn int byteread=0;rnrn tryrn rn URL url = new URL( remoteFile );rn HttpURLConnection conn = ( HttpURLConnection ) url.openConnection();rn conn.connect();rn InputStream inStream = conn.getInputStream();rn FileOutputStream fs = new FileOutputStream( localFileName );rn //byte[] data = new byte[(int)inStream.<em>available</em>()];rn byte[] buffer = new byte[1444];rn System.out.println( inStream.<em>available</em>() );rnrn while ((byteread=inStream.read(buffer))!=-1)rn rn bytesum+=byteread;rn fs.write(buffer,0,byteread);rn rn System.out.println( buffer.length + "|" + bytesum );rn fs.close();rn inStream.close();rn conn.disconnect();rnrn FileInputStream fin = new FileInputStream(localFileName);rn int count = -1, total = 0;rn byte[] data = new byte[(int)fin.<em>available</em>()];rn System.out.println( fin.<em>available</em>() );rn fin.read(data);rn System.out.println( data.length );rn fin.close();rn rn catch ( Exception e )rn rn e.printStackTrace();rn rn rnrnrnInputStream的<em>available</em>(),似乎总是9932,需要循环读取该文件到一个字节数组中。rnFileInputStream的<em>available</em>(),则和文件的大小完全一致,一次就read全部数据到字节数组中了。rnrn是这样的吗,有哪位朋友做过测试?
IO流(1)——输入输出流的构造及available()的应用
IO流 分类: *按流向分为:输入流、输出流。 *按操作类型分为: 字节流:可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的。 字符流:只能操作字符数据,比较方便。 父类: *字节流的抽象父类: InputStream OutputStram *字符流的抽象父类: Reader Writer FileInputStream  FileInputStream
输入流InputStream的reset()和mark()方法注意事项
InputStream的reset<em>方法</em>失败,然后查了一下JDK源码,发现BufferInputStream重写了父类FilterInputStream的mark和resetf<em>方法</em>,其有支持 mark 和 reset <em>方法</em>的能力。而FileInputStream则没有重写父类InputStream的这两个<em>方法</em>,其不具有mark和reset<em>方法</em>的能力。 在JDK源码中,写到        
通过网络获取图片,最终转码出来的图片显示不全
感谢博主分享:http://www.cnblogs.com/andgoo/archive/2012/10/22/2734034.html  在项目中要读取二进制流中的图片数据,发现只能读一部分,看了以下的文章后,原来不能一次性读完整个长度的,分批来读的。 1. 关于InputStream.read()      在从数据流里读取数据时,为图简单,经常用InputS
request.getInputStream()方法遇到的问题
request.getInputStream()<em>方法</em>获取的是整个请求流,所有的请求头信息和内容信息都混在一起了,当前端用form-data提交文件时,后端用这个<em>方法</em>获取到的流会提示文件损坏。所以我们要将头信息(流的前四行)去掉,解析真正的文件内容即可。 //获取上传图片流 InputStream image = request.getInputStream(); ...
java中inputstream的.read()函数的三种用法
1.read 这个<em>方法</em>是对这个流一个一个字节的读,返回的int就是这个字节的int表示方式 以下是代码片段,经过测试当eclipse的编码为gbk时,转化出的字符串不需经过重新编码,如果eclipse的编码为utf-8时则由byte转成字符串需重新编成utf-8的 InputStream in = Test.class.getResourceAsStream("/tt.txt");  
Socket编程InputStream中的read()方法问题!!!
while(is.read(buf)!=-1)//服务器端程序 { String str=new String(buf); System.out.println("来自客服端:"+str); os.write(str.toUpperCase().getBytes()); } while((str=bw.readLine())!=null)//客户端程序{os.
Java,InputStream,Socket阻塞.(关于HTTP请求的IO问题自我总结)
前言: 由于项目的需求,需要实现以下流程: 1. Client发送HTTP请求到Server. 2. Server接收HTTP请求并显示出请求的内容(包含请求的头及Content的内容) 服务端实现:  Server部分代码如下: import java.net.Socket; import java.net.ServerSocket; import java.net.InetAd
网络传输层TCP协议中InputStream的read方法是否返回-1
由于通信路径只是单机并没有经过网络,因此两个进程之间的互通相对与网络传输是比较快速的。因此,进程间的交互<em>使用</em>了如下方式: (见上传图片) 让我们看一下代码实现: Java代码 public synchronized void send(byte[] bytes) throws IOException    {        if (bytes !
java中讲讲FileInputStream的用法,举例?
2.2 FileInputStream的用法 FileInputStream是InputStream的继承类,从字面上就可看出,它的主要功能就是能从磁盘上读入文件。read<em>方法</em>会一个一个字节的从磁盘往回读数据。 例:2.2.1 import java.io.*; public class TestMark_to_win { public static void main(String...
InputStream与OutputStream 的基本方法说明
InputStream ◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量 int read( byte b[ ], int off, int len ); //读取len个字节,放置到以下标off开始字节数组b中,返回值...
io 流相关知识之available()方法使用总结
先看看API的说明:[java] view plain copy1. public int <em>available</em>()    2.               throws IOException  [java] view plain copy1. 返回此输入流下一个<em>方法</em>调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。下一个调用可能是同一个线程,也可能是另一个线程。一次读取或跳过此估计数个字节...
InputStream read()方法详解
在Java7中,InputStream被定义为一个抽象类,相应的,该类下的read()<em>方法</em>也是一个抽象<em>方法</em>,这也就意味着必须有一个类继承InputStream并且实现这个read<em>方法</em>。 查阅Java7 API,我们可以看到,在InputStream中定义了三个重载的read()<em>方法</em>: 但是在这三个<em>方法</em>中,只有参数列表为空的read<em>方法</em>定义为抽象<em>方法</em>,这也就意味着在直接继承自InputStre
[求助]InputStream的available()方法是不是有BUG?
看了一本有关JAVA性能优化的书,里面不提倡用BuffredStreamReader,提倡用自己做的BYTE数组来BUFFER,其中初始化数组长度的时候,用到的是inputStream的<em>available</em>()<em>方法</em>,当时我测试的代码如下,对比BuffredStreamReader,性能确实有巨大提高,但是我发现最后读有些文档的话根本读不完全rnrnrn[code=Java]rnbyte[] InputStreamToByte(InputStream iStrm)rnrn int len = iStrm.<em>available</em>();rn byte[] b = new byte[len];rn @SuppressWarnings("unused")rn int ch = iStrm.read(b);rn return b;rn[/code]rnrn比如说读这个URL的源代码,跟直接用IE打开看到的源代码差了很多rnhttp://news.yonghua.net.cn/htmldata/2005_05/2/14/article_275442_1.html
java:IO流(字节数组拷贝之available()方法---不推荐使用)
* int read(byte[] b):一次读取一个字节数组 * write(byte[] b):一次写出一个字节数组 * <em>available</em>()获取读的文件所有的字节个数 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import ...
Java InputStream读取网络响应Response数据的方法!(重要)
Java InputStream读取数据<em>问题</em> ====================================================================== 原理讲解  1. 关于InputStream.read()      在从数据流里读取数据时,为图简单,经常用InputStream.read()<em>方法</em>。这个<em>方法</em>是从流里每次只读取读取一个字节,效率会非
InputStream只能读取一次的解决方法
有时候我们需要对同一个InputStream对象<em>使用</em>多次。但第一次读取InputStream对象后,第二次再读取时可能已经到Stream的结尾了(EOFException)或者Stream已经close掉了。而InputStream对象本身不能复制,因为它没有实现Cloneable接口。此时,可以先把InputStream转化成ByteArrayOutputStream,后面要<em>使用</em>InputStre
解决 request.getInputStream()只能获取一次的问题
在开发中有时候我们会在filter中获取上传文件然后验证其合法性,但是在filter中获取一次以后,我们在controller想再次获取上传文件对象是获取不到的。request.getInputStream()返回的是ServletInputStream,此<em>方法</em>没有实现流的mark/reset<em>方法</em>,我们在filter中读取以后无法对流进行复位。实现<em>方法</em>,直接贴代码了。 BodyReaderHtt...
java InputStream 关于read阻塞的问题讨论
http://topic.csdn.net/u/20090304/15/a3df12fd-1896-4a17-bedc-cb863c955ecc.html   http://topic.csdn.net/u/20080620/11/478e7d71-e92a-4aca-815
Java网络编程(输入流 InputStream)
Java的基本输入类是java.io.InputStream:   public abstract class InputStream   这个类提供将数据都取为原始字节的基本<em>方法</em>。这些<em>方法</em>包括:   public abstract int read() throws IOException pulic int read(byte[] input) throws IOExce...
一个关于压缩流InputStream 读取的话题
曾经在网上看到一段代码优化InputStream 读取的,大致是根据流大小来确定每次读取的字节数。代码如下: DataOutputStream outputStream = null; try { outputStream = new DataOutputStream(new FileOutputStream(file)); int len = inputStream.ava...
InputStream类中的三种read方法
InputStream类以及子类中的Read<em>方法</em>
解决InputStream.read读取数据出现丢失的情况
InputStream.read(byte[] b)InputStream.read(byte[] b,int off,int len)这两者都可批量读取数据,进入byte[]缓存。但是即便是实现给定好byte[]的长度,指定长度进行读取,也不一定能完全读取数据。这里的做法可用以下:                byte[] bodyReceived = new byte[dataLen]; ...
fastjson中的一些问题
fastjson中的null<em>问题</em>: QuoteFieldNames——输出key时是否<em>使用</em>双引号,默认为true WriteMapNullValue——是否输出值为null的字段,默认为false WriteNullNumberAsZero——数值字段如果为null,输出为0,而非null WriteNullListAsEmpty——List字段如果为null,输出为[],而非nul...
java InputStream为什么不能重复读取
首先,熟悉Java的人可能都知道,Java中的Inputstream是不能重复读取的。  但是有没有想过,InputStream为什么不能重复读呢?  其实要回答“为什么”这个<em>问题</em>很简单,就是人家接口就是这么设计的,不能重复读。  所以今天要讨论的<em>问题</em>更像是:Java的InputStream为什么要设计为不能重复读?  关于InputStream为什么不能重复读取,网上也各有说法:  有
Java中FileInputStream类的常用方法
FileInputStream类从文件系统中的某个文件中获得输入字节。(继承自InputStream类)构造<em>方法</em>public FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。public FileInputStream(String name) 通过打开一个到实际文...
在SpringMVC框架下HttpServletRequest inputStream只能读取一次的问题
场景描述:在异常日中打印请求url和请求传入的参数 采用的方式:<em>使用</em>slf4j+logback管理日志,在进入controller前将参数放入MDC中,在logba.xml中<em>使用</em>&amp;lt;pattern&amp;gt;%d  - %X{requestBody} - %X{requestUrl} - %msg%n&amp;lt;/pattern&amp;gt;输入日志 遇到<em>问题</em>:1、在获取body需采用获取request...
InputStream——输入流读取数据缺失或多余现象
写Java、android的程序员应该对InputStream再熟悉不过了。不管是文件操作还是网络传输,只要牵扯到传输数据的时候都难免会用到它。输入流能够快速的读取我们文件 或者网络的数据,但有时候也会碰到<em>问题</em>——数据缺失或多余。这里面其实不是输入流本身的<em>问题</em>,字节是完完全全读取到了,是在将编码转换成字符的时候出现了<em>问题</em>。是字 节数组多余空间上的默认值(0)参与了转换导致混乱而产生的。
Socket中InputStream的read方法的阻塞特性
用java,搞通信一定会接触到Socket,ServerSocket这2个类,基本<em>使用</em>非常简单,但如果想良好的控制,还是得小心之非常啊.因为Socket中InputStream的read()当管道无数据时便等待数据的填充,但OutputStream可以继续写入数据.如果这点搞清楚
通过mark和reset方法重复利用InputStream
在这篇博客中我们已经简单的知道可以通过缓存InputStream来重复利用一个InputStream,但是这种方式的缺点也是明显的,就是要缓存一整个InputStream内存压力可能是比较大的。如果第一次读取InputStream是用来判断文件流类型,文件编码等用的,往往不需要所有的InputStream的数据,或许只需要前n个字节,这样一来,缓存一整个InputStream实际上也是一种浪费。 
InputStream输入流的方法
InputStream(字节输入流)类是一个抽象类 所有的输入流都是InputStream直接或间接的子类   int read()    //从输入流中读取单个字节,返回所读取的字节数据 int read(byte[] b)    //从输入流中读取最多b.length长度的字节,并存储在字节数组b中,返回实际读取的字节数。 int read(byte[] ,b,int off,int len)
ServletInputStream重复读取问题
本来是想实现tomcat的acess_log打印post请求参数。吐槽一下,tomcat功能和ngix差了好几条街。晚上找了个<em>方法</em>,写tomcat的filter来实现。 但是,写filter的时候,发现ServletInputStream重复读取<em>问题</em>。 网上找个几个<em>方法</em>,都不能直接用。 已经修改,终于能完美运行了。直接贴代码了,亲测能用。 首先要写个BufferHttpServletReq
StringUtils:将一个InputStream流转换成字符串
将一个InputStream流转换成字符串
solr使用中遇到的问题
1.剔除数据 ----在搜索时,想将某些结果排除掉,我们可以<em>使用</em>操作符 “-”进行排除查询。即:-field:value。例:剔除id为123的数据filterQuery.addFilter(&quot;-id:123&quot;)2.SolrServerException: No live SolrServers <em>available</em> to handle this request:[http://192.168.20...
Java之字节输入流-InputStream
一.InputStream类介绍  JDK API文档描述:    此抽象类是表示字节输入流的所有类的超类  作用:读取文件,每次只读取一个字节(OutputStream每次只输出一个字节)二.InputStream类中常用的<em>方法</em>由于InputStream是一个抽象类,我们不能直接创建其对象,但它的子类会重写它其中的<em>方法</em>,下面<em>使用</em>其子类FileInputStream来演示其中的<em>方法</em>FileInpu...
Android -- 小问题 InputStream的read方法读取字节不完全的问题
关于InputStream.read(byte[] b)和InputStream.read(byte[] b,int off,int len)这两个<em>方法</em>都是用来从流里读取多个字节的,有经验的程序员就会发现,这两个<em>方法</em>经常 读取不到自己想要读取的个数的字节。比如第一个<em>方法</em>,程序员往往希望程序能读取到b.length个字节,而实际情况是,系统往往读取不了这么多。仔细阅读Java的API说明就发现了,这
Java语言-45:字节输入流InputStream的常用方法
1、 package IO; import java.io.FileInputStream; import java.io.FileNotFoundException; /*由于InputStream是抽象类,不能实例化,故在实际开发中一般<em>使用</em>其子实现类FileInputStream进行实例化  * FileInputStram的一些<em>方法</em>:  * read() :从此输入流中读取一个数据字...
学习笔记之java.io包中的字节流(上)—— 基本的InputStream和OutputStream
先看下类的声明: 1 2 public abstract class InputStream implements Closeable public abstract class OutputStream implements Closeable, Flushable
可用性 available 简析
<em>available</em> Swift有两种属性,分别为适用于声明和适用于类型的属性。<em>available</em>属于声明属性. 将 <em>available</em> 用于声明时,表示该声明的生命周期与特定的平台和操作系统版本有关。  对于函数,类,协议等,可以<em>使用</em> @<em>available</em> 声明这些类型的生命周期依赖于特定的平台和操作系统版本。而 #<em>available</em> 用在
获取项目中的文件流InputStream
InputStream in = MyBatisTest.class.getResourceAsStream(&quot;/SqlMapConfig.xml&quot;);
关于InputStream和OutputStream详细讲解
关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream
【字节流】 复制各类格式文件,available()用方法
自我学习留记
Java反射机制及其获取InputStream的两种方式
图一: java.lang.Class:是反射的源头。      我们创建了一个类,通过编译(javac.exe),生成对应的.class文件。之后我们<em>使用</em>java.exe加载(JVM的类加载器完成的)      此.class文件,此.class文件加载到内存以后,就是一个运行时类,存在在缓存区。那么这个运行时类本身就是一个Class的实例!      1.每一个运行
文件下载中使用inputStream流获取文件大小
inputStream.<em>available</em>()获取的是文件的字节大小 InputStream inputStream = new FileInputStream(new File(path)); response.setHeader(&quot;Content-Length&quot;, String.valueOf(inputStream.<em>available</em>()));...
//.properties的读取方式,就是用Properties对象.load(inputStream)然后再用po操作key,value即可,其实本质下就是将流load到properties对象进
public void p1(){     Properties po = new Properties();     //1 src下的properties读取     //InputStream ras = this.getClass().getClassLoader().getResourceAsStream("db.properties");     //2 src下config包
InputStream类的实现
      我们知道,java是一种解释型的语言。它的虚拟机帮助我们把.class文件变成机器能够识别的机器语言。     当然,做为一个应用层开发的程序员,我们没必要去看JVM的实现代码,如果你有兴趣写自己的虚拟机,自己写一种新的语言出来,你也可以去看。     我们现在关心的是:在JVM规范的基础上的java基本类库的实现机制,从而从本质上认识到java语言的规范和功能。   因为
关于重复使用InputStream对象的
关于重复<em>使用</em>InputStream对象的解决<em>方法</em>项目中<em>使用</em>Okhttp加载网络图片时,通过response.body().byteStream()获得InputStream流对象, 第一次需要用到该流去获得图片尺寸,而真正取图片显示时又<em>使用</em>了该流,当你去<em>使用</em>BitmapFactory.decodeStream(is, null, ops)获取bitmap时,bitmap总是null。第一次读取In
InputStream的read方法读取字节不完全的解决方案
InputStream的read<em>方法</em>读取字节不完全的解决方案
用InputStream字节流读取文件内容的一种方式(文件包含汉字)
汉字所占的字节个数会随着编码格式的不同而变化,但是可以肯定地一点是,不管是什么编码格式,汉字占有的的字节个数肯定都不止一个字节,所以用字节(数组)来读取含有汉字的文件时,可能会产生乱码,下面我用数组拼接的方式来读汉字,就不会产生乱码了。上代码: //用字节流读取文件并输出     private static void m1() throws Exception{         InputS...
InputStream类中的三种read方法-学习中有发现了一个重要知识惊喜
转载:https://baijiahao.baidu.com/s?id=1607485209716859447&amp;amp;wfr=spider&amp;amp;for=pc InputStream类以及子类中的Read<em>方法</em> Read<em>方法</em> Read() public abstract int read() throws IOException 从(来源)输入流中(读取的内容)读取数据的下一个字节到(...
Java.IO.InputStream.skip() 错误(跳过字节数和预想的不等)
最近写一个网络下载软件,需要<em>使用</em>java.IO.InputStream.skip(long n) <em>方法</em>,它的作用是从输入流中跳过 n 个字节,比如 inputStream.skip(12),就是从inputStream中读最近写一个网络下载软件,需要<em>使用</em>取数据时,跳过前 12 个字节,从第13个字节读取,<em>方法</em>的返回值就是实际跳过的字节数 Java.IO.InputStream.skip(long
ServletInputStream的重复读取(多次读取)
欢迎和大家交流技术相关<em>问题</em>: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju 在<em>使用</em>Servlet进行Web开发的时候,有时
InputStream读取数据问题
1. 关于InputStream.read()      在从数据流里读取数据时,为图简单,经常用InputStream.read()<em>方法</em>。这个<em>方法</em>是从流里每次只读取读取一个字节,效率会非常低。     更好的<em>方法</em>是用InputStream.read(byte[] b)或者InputStream.read(byte[] b,int off,int len)<em>方法</em>,一次读取多个字节。 2.
InputStream 二进制读取文件, byte数据的长度问题
当读取文件为如下方式的时候, File file = new File(path); FileInputStream is = new FileInputStream(file); try { byte[] temp = new byte[1024]; while (is.read(temp) > 0) { os.write(temp); } }
InputStream进行文件的读取操作
import java.io.File; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.io.OutputStream; import java.io.FileOutputStream; import java.io.FileInputStream...
Android在使用使用socket时,调用BufferedInputStream.read方法时的阻塞问题
    这两天在搞一个实时通讯的东西,自然就<em>使用</em>到了socket,关于socket的介绍以及原理可参考https://www.cnblogs.com/kakawater/p/7085122.html或自行百度。        在<em>使用</em>BufferedInputStream.read()<em>方法</em>读取socket传输过来的数据的时候,发现该<em>方法</em>会阻塞主线程,导致程序不能够往下继续运行,一直到下一次数据的到来...
ClassLoader的getResourceAsStream方法使用及在java和web项目中的路径问题
        ClassLoader,小名类加载器,听起来好高大上滴样子,网上大神的解释更是深奥,刚刚入门,难以理解。我对它的理解就是加载一些文件用的,最常用的就是一个叫getResourceAsStream()的<em>方法</em>,它是用来加载一些配置文件的。好了,入题:     java项目下读取文件,我们创建一个java project,并创建一个包,一个类,在src目录下建立一个config.pr...
字节输入流FileInputStream读取文件-字节数组
import java.io.FileInputStream;import java.io.IOException;/* * FileInputStream读取文件 * 读取<em>方法</em> int read(byte[] b):读取字节数组 *  */public class FileInputStreamDemo01 {    public static void main(String[] args) ...
Socket开发时,Available为0,实际还有数据的问题
这段时间处理Socket通讯,比如文件传输,通常代码如下: string filename = @"c:\abc.txt"; // 发送文件名字符串长度(测试代码,实际请传输字符串字节长度) SendLength(socket, filename.Length); // 发送文件名字符串 SendData(socket, filename); // 发送文件长度和文件实际内容
available 的理解和一些使用
一、序言        这里主要介绍一下我们在读文件流,如何转换成byte[],从而引出这几种写法的一些原理和应用场景的区别。   二、测试代码       2.1 我们先看代码,代码的作用是获得将文件流转换成byte 数组,我们暂时不管它的正确性,代码也精简了很多。        // 这个用缓冲流 public static byte[] getByte1(String n...
Androin学习笔记四十一:InputStream(示例,出错代码)
出处:http://www.apihome.cn/api/java/InputStream.html java.io 类 InputStream java.lang.Object java.io.InputStream 所有已实现的接口:Closeable 直接已知子类:AudioInputStream, ByteArrayInputStream, Fi
用文件流FileInputStream 把一个文件的内容转到另一个文件中
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class Test02 { public static void main(String...
【java】输入流InputStream的reset()和mark()方法注意事项
今天写一个读写程序,运用到InputStream的reset<em>方法</em>是发现竟然失败了,然后查了一下JDK源码,发现BufferInputStream重写了父类FilterInputStream的mark和resetf<em>方法</em>,其有支持 mark 和 reset <em>方法</em>的能力。而FileInputStream则没有重写父类InputStream的这两个<em>方法</em>,其不具有mark和reset<em>方法</em>的能力。 在J
为什么只有OutputStream才有flush()方法,而InputStream没有该方法
调用close<em>方法</em>在关闭流之前,会强制刷新一下IO缓冲,这个在API里面也有提到。 flush是要求将该OutputStream的临时缓存清空,强制写到底层的OutputStream中.flush<em>方法</em>的意思是强制将缓冲区所有的数据输出!例如你外面套了一层BufferedOutputStream,那么你写入的内容其实有一部分还保存在这个Stream中,而没有写入底层的。所以在某些时候必须调用flu...
inputStream 数据分段传输问题
单片机蓝牙模块发送的数据包,在安卓客户端接收的时候,总是分成两段,比如发送1234567890,接收的时候先接收1,然后再接收234567890。 蓝牙程序是移植的google API里面的Bluetooth Chat程序,最初相关的代码是这样的 byte[] buffer = new byte[1024]; int bytes; while (true) { try {
【IO】ObjectInputStream的使用方法及其注意事项
【IO----ObjectInputStream的<em>使用</em><em>方法</em>及其注意事项】 一、代码及笔记演示 package ioDemo.inputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream
ftp.retrieveFileStream(ftp文件路径);调用后返回inputStream对象为空。
关闭输入流之后返回的inputStream对象为空,用bytes保存后返回出去再new ByteArrayInputStream(bytes); <em>方法</em>可以获得输入流。ftp部分代码InputStream inputStream = ftp.retrieveFileStream(remotePath); bytes = IOUtils.toByteArray(inputStream); //防止关...
FileInputStream(字节流)与fileReader(字符流) 的区别
FileInputStream(字节流)与fileReader(字符流) 的区别
java InputStream中read()方法每次读取一个字节数据
import java.io.File; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.io.OutputStream; import java.io.FileOutputStream; import java.io.FileInputStream...
IO流之ZipInputStream和ZipOutputStream的认识及常用使用
ZipInputStream和ZipOutputStream定义 压缩流 在日常中经常会<em>使用</em>到zip或rar这样的压缩文件,更加便利了我们日常文件的传输和<em>使用</em>。当然在java中 也提供了相应的输入输出流来压缩和解压gzip、zip和rar这样的文件。 ZipInputStream “压缩文件输入流”,用于读取磁盘上的压缩文件 ZipOutputStream “压缩文件输出流”,用于将程...
安卓ZipInputStream 解压文件
/** * 解压文件 * 将目标文件解压到指定目录 * @param srcFile 源文件 * @param desFile 目标文件 * @throws IOException */ public static void unZip(File srcFile, File desFile) throws IOExc...
Java InputStream从文件读取示例
一,知识点1,InputStream是输入流的抽象基类,定义了输入流应该实现的<em>方法</em>。2,很重要的一个<em>方法</em>是read(byte[] buffer,int offset,int length),三个参数分别代表读到哪,从当前位置开始读取的偏移,读取长度。3,一定要注意编码,比如UTF-8中中文一般占3个字节,数字和英文字母占一个字节,其他编码就不一定了,如果读取中文时length设置为1,那么显示读取中
JavaWeb——文件上传,通过request.getInputStream()无法获取文件内容的问题
在<em>使用</em>request.getInputStream()获取上传的文件并输出时,结果总是只有一行信息: ------WebKitFormBoundaryZ67SrSxAo3UwkFoC--,而文件的内容却丢失了。究其原因,是缺少了name属性,我们只需要添加上name属性,即可正确地获得文件的内容。将标签改写为:fil
IOUtils常用方法使用
/** * apache.commons.io.IOUtils常用<em>方法</em>的<em>使用</em> * 对字节流inputStream,outStream,writer,reader字符流的常用<em>方法</em>的<em>使用</em> * @author ZYY * */ public class TestCommon { public static void main(String[] args) throws I...
FileInputStream 相对路径正确识别
文章来源: http://blog.csdn.net/diquren/article/details/49000547 props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件 getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置
jdbc中properties.load报空指针的问题
InputStream <em>inputstream</em> = this.getClass().getResourceAsStream(&quot;/jdbc.properties&quot;);  
InputStream在使用完后,不关闭流,想复用怎么办?
1.以ByteArrayInputStream为例先看代码package test; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; public class Test { public static void main(String[] args) { ...
强连通分量及缩点tarjan算法解析
强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   <em>使用</em>tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Time, DFN[N], Low[N]; DFN[i]表示 遍历到 i 点时是第几次dfs Low[u] 表示 以u点为父节点的 子树 能连接到 [栈中] 最上端的点   int
信息论与编码理论(第二版,Robert J. McEliece 著)下载
信息论与编码理论(第二版,Robert J. McEliece 著) 这本专著系统全面的介绍了通信领域的两个方面:编码与传输 相关下载链接:[url=//download.csdn.net/download/yuntianyj/2005871?utm_source=bbsseo]//download.csdn.net/download/yuntianyj/2005871?utm_source=bbsseo[/url]
GoodSync-同步下载
GoodSyncGoodSync-同步-同步 相关下载链接:[url=//download.csdn.net/download/dengfeng328/2025974?utm_source=bbsseo]//download.csdn.net/download/dengfeng328/2025974?utm_source=bbsseo[/url]
电力电子技术课件及其PDF答案下载
希望大家能正确利用资源。这是我辛辛苦苦找来的,不要辜负我哦! 相关下载链接:[url=//download.csdn.net/download/p283628823/2111528?utm_source=bbsseo]//download.csdn.net/download/p283628823/2111528?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习中常见的问题 java学习中遇到的问题
我们是很有底线的