目录
前言
网络传输方面总会碰到将某种格式的文本或者图片等转换成数据流的方式来传输,那到底是怎样一种原理呢?
何为InputStream
流的释义
编程语言的I/O类库中经常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象,或者有能力接收数据的接收端对象。
InputStream的释义
用来表示从不同数据源产生输入的类,数据源包括:字节数组,String对象,文件,“管道”,流序列,Internet链接等。
OutputStream的释义
该类别决定了输出所要去往的目标,包括:字节数组,文件,“管道”。
InputStream类以及其子类
InputStream是一个输入流的标准,其下有众多子类适用不同的环境。
主要的子类:
1、FileInputStream:把一个文件作为InputStream,实现对文件的读取操作
2、ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用
3、StringBufferInputStream:把一个String对象作为InputStream
4、PipedInputStream:实现了pipe的概念,主要在线程中使用
5、SequenceInputStream:把多个InputStream合并为一个InputStream
FileInputStream
FileInputStream可以对文件进行数据流的转换。
String fileName = "E:\\电影\\[高清电影]";
InputStream inputstream = new FileInputStream("fileName");
//然后对InputStream 进行读操作,为什么是读呢?可以把内存当作主体,你从硬盘往内存里Input 东西就是读取数据。另外这里因为FileInputStream继承InputStream 类
//所以可以这样用
byte[] by = new byte[8192];//此数字不唯一
int len ;
while( (len=inputStream.read(by))!=-1 ){
//len就是得出的字节流了
}
inputStream.close();//最后别忘记关闭,当然应该还有个if判断是否为空和try catch 的语句
File f = new File("F:\\……");
if (!f.exists()) {
System.out.println("creat " + f.toString());
f.createNewFile()