导航:首页 > 编程语言 > java读取inputstream

java读取inputstream

发布时间:2023-06-28 20:28:34

java 中配置文件路径读取使用FileReader和InputStream区别和用法

一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、网络数据流:InputStream, OutputStream, Reader, Writer

二、按是否格式化输出分:
1、要格式化输出:PrintStream, PrintWriter

三、按是否要缓冲分:
1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter

四、按数据格式分:
1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类
2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类

五、按输入输出分:
1、输入:Reader, InputStream类型的子类
2、输出:Writer, OutputStream类型的子类

六、特殊需要:
1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter
2、对象输入输出:ObjectInputStream, ObjectOutputStream
3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4、合并输入:SequenceInputStream
5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader

决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):
首先,考虑最原始的数据格式是什么: 原则四
第二,是输入还是输出:原则五
第三,是否需要转换流:原则六第1点
第四,数据来源(去向)是什么:原则一
第五,是否要缓冲:原则三 (特别注明:一定要注意的是readLine()是否有定义,有什么比read, write更特殊的输入或输出方法)
第六,是否要格式化输出:原则二

Java中Inputstream与Reader的区别

Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,
InputStream、OutputStream是用来处理8位元的流,
Reader、Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。
值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReader、OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。

java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。
在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader 用于从程序中的字符数组输入;
StringReader 用于从程序中的字符串输入;
PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket 用于套接字;
URLConnection 用于 URL 连接。
这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。

Ⅱ java读取文件时,InputStream的read(byte[])方法的byte[]的长度不知如何设置,请教大虾们

那个长度应该只是缓冲区而已,应该不影响结果的。我做的时候一般都设置为1024,即1KB
这个是我部分的成功代码
inputStream = new BufferedInputStream(new FileInputStream(
downloadFile));
outputStream = new BufferedOutputStream(response
.getOutputStream());
byte[] buffer = new byte[1024];
int readIndex;
while (-1 != (readIndex = inputStream.read(buffer, 0,
buffer.length))) {
outputStream.write(buffer, 0, readIndex);
}

Ⅲ java中DataInputStream如何读取我们控制台的字符串

java中DataInputStream使用构造参数,使用bufferreader,输入参数system.in就可以读取控制台的字符串,如下代码:

importjava.io.BufferedInputStream;
importjava.io.DataInputStream;
importjava.io.IOException;

publicclassceshi{
publicstaticvoidmain(String[]args){

DataInputStreamin=newDataInputStream(newBufferedInputStream(
System.in));//新建DateInputSteam,接收控制台的信息
Strings;
try{
while((s=in.readLine()).length()!=0)
System.out.println(s);//读取控制台信息,并打印出来
//
}catch(IOExceptione){
e.printStackTrace();
}

}

}

运行结果如下:

阅读全文

与java读取inputstream相关的资料

热点内容
服务器怎么执行sql 浏览:974
小孩子命令 浏览:706
贷款申请系统源码 浏览:266
windowsxp文件夹打开后怎么返回 浏览:662
怎么把pdf变成图片 浏览:795
17年程序员事件 浏览:494
iishttp压缩 浏览:29
公司文件加密后拷走能打开吗 浏览:186
headfirstjava中文 浏览:894
腾讯云服务器怎么放在电脑桌面 浏览:8
批量生成图片的app哪个好 浏览:496
小米10电池校准命令 浏览:96
移动商城系统app如何开发 浏览:692
用安卓手机如何发高清短视频 浏览:339
怎样运行java程序运行 浏览:553
海南根服务器镜像云服务器 浏览:536
weka聚类算法 浏览:452
视频服务器修复是什么意思 浏览:498
python跨平台开发 浏览:916
音遇app全民k歌从哪里下载 浏览:646