java中inputstream的.read()函数的三种用法
来源:互联网 发布:淘宝网店手机可以看吗 编辑:程序博客网 时间:2024/06/06 04:41
1.read
这个方法是对这个流一个一个字节的读,返回的int就是这个字节的int表示方式
以下是代码片段,经过测试当eclipse的编码为gbk时,转化出的字符串不需经过重新编码,如果eclipse的编码为utf-8时则由byte转成字符串需重新编成utf-8的
InputStream in = Test.class.getResourceAsStream("/tt.txt");
byte[]tt=new byte[15];//测试用的事前知道有15个字节码
while(in.available()!=0){
for(int i=0;i<15;i++){
tt[i]=(byte)in.read();
}
}
String ttttt=new String(tt,"utf-8");
System.out.println(ttttt);
in.close();
2.read(byte[] b)
这个方法是先规定一个数组长度,将这个流中的字节缓冲到数组b中,返回的这个数组中的字节个数,这个缓冲区没有满的话,则返回真实的字节个数,到未尾时都返回-1
in = Test.class.getResourceAsStream("/tt.txt");
byte [] tt=new byte[1024];
int b;
while((b=in.read(tt))!=-1){
System.out.println(b);
String tzt=new String(tt,"utf-8");
System.out.println(tzt);
3.read(byte[] b, int off, int len)
此方法其实就是多次调用了read()方法
InputStream in = Test.class.getResourceAsStream("/tt.txt");
//System.out.println(in.available());//此方法是返回这个流中有多少个字节数,可以把数组长度定为这个
byte[]tt=new byte[in.available()];
int z;
while((z=in.read(tt, 0, tt.length))!=-1){
System.out.println(new String(tt,"utf-8"));
这个方法是对这个流一个一个字节的读,返回的int就是这个字节的int表示方式
以下是代码片段,经过测试当eclipse的编码为gbk时,转化出的字符串不需经过重新编码,如果eclipse的编码为utf-8时则由byte转成字符串需重新编成utf-8的
InputStream in = Test.class.getResourceAsStream("/tt.txt");
byte[]tt=new byte[15];//测试用的事前知道有15个字节码
while(in.available()!=0){
for(int i=0;i<15;i++){
tt[i]=(byte)in.read();
}
}
String ttttt=new String(tt,"utf-8");
System.out.println(ttttt);
in.close();
2.read(byte[] b)
这个方法是先规定一个数组长度,将这个流中的字节缓冲到数组b中,返回的这个数组中的字节个数,这个缓冲区没有满的话,则返回真实的字节个数,到未尾时都返回-1
in = Test.class.getResourceAsStream("/tt.txt");
byte [] tt=new byte[1024];
int b;
while((b=in.read(tt))!=-1){
System.out.println(b);
String tzt=new String(tt,"utf-8");
System.out.println(tzt);
3.read(byte[] b, int off, int len)
此方法其实就是多次调用了read()方法
InputStream in = Test.class.getResourceAsStream("/tt.txt");
//System.out.println(in.available());//此方法是返回这个流中有多少个字节数,可以把数组长度定为这个
byte[]tt=new byte[in.available()];
int z;
while((z=in.read(tt, 0, tt.length))!=-1){
System.out.println(new String(tt,"utf-8"));
}
出处:http://www.blogjava.net/toby/archive/2009/04/24/267413.html
0 0
- java中inputstream的.read()函数的三种用法
- inputStream的read用法
- java中InputStream的用法
- java中讲讲InputStream的用法,举例?
- InputStream中read的使用理解
- InputStream的三个read()
- read函数的 用法
- java中InputStream中read()与read(byte[] b) 用法介绍
- 为什么Java的InputStream.read函数要返回int型而实际上它只读一个byte
- java IO 中Reader和InputStream的区别和用法
- 慎用InputStream的read()方法
- Socket中InputStream的read方法的阻塞特性
- InputStream中read()与read(byte[] b) 用法介绍
- java中inputstream的使用
- java InputStream 关于read阻塞的问题讨论
- java InputStream 关于read阻塞的问题讨论
- Java基础学习之InputStream的read()方法陷阱
- InputStream类中的三种read方法
- Redis在新浪微博中的应用
- Android利用BroadcastReceiver实现短信监听
- COCOS2D-X 停止手打所有cpp文件到android.mk
- Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快)
- libevent源码浅析: http库
- java中inputstream的.read()函数的三种用法
- LINUX下查看系统参数的常见命令
- 计算几何概述
- android Bluetooth连接方式 SCO & ACL
- LeetCode-Evaluate Reverse Polish Notation (Python)
- Excel中将姓名与手机号中的字符替换成星号*
- LINUX下搭建FTP服务器
- Android中的Handler, Looper, MessageQueue和Thread
- 黑马程序员.Android攻城狮.JAVA基础.1.3.Java面向对象