复习 流操作

有时候在写网络编程的时候需要处理上传下载的东西,这时候需要我们使用流操作。

首先我们先明白我们流的结构


image.png

java的流分为字节流和字符流。
字节流的的单位为字节,而我们字符流单位为字符,因为java使用的Unicode,一个字符占两个字节
由此我们可以知道我们在网络之中对图片视频的处理我们都会使用字节流

其次我们的Out Stream和Input Stream 的含义针对于程序而言。
我们的的Out Stream寓意我们程序要对外流出东西,而相反对于Input,我们要对程序中流入东西。
还有的是,我们的一个流要么是读要么是写,如要实现对一文件读写,可以写两个流。

主要流的类有
主要的类如下:

 1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。

 2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。

 3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。

 4.Reader(文件格式操作):抽象类,基于字符的输入操作。

 5. Writer(文件格式操作):抽象类,基于字符的输出操作。

 6. RandomAccessFile(随机文件操作):一个独立的类,直接继承至Object.它的功能丰富,可以从文件的任意位置进行存取(输入输出)操作。

最后我有一段代码帮助理解:
这是我的一个目录文件夹:


image.png

接下来我会使用流进行一个复制操作:

try {
InputStream inputStream = new FileInputStream("D:\l\timg.jpg");
byte[] data = new byte[1024];
OutputStream outputStrea = new FileOutputStream("D:\l\timg2.jpg");

        int flag = inputStream.read(data);
        while(flag != -1){
            outputStrea.write(data);
            flag = inputStream.read(data);
        }
        inputStream.close();
        outputStrea.close();

    }catch (Exception e){
        System.out.println(e.getMessage());
    }

运行之后:

image.png

对于各个具体的流具体操作,我这里建议去读API,如果还有什么不明白,可以去看以下博客

https://www.cnblogs.com/ylspace/p/8128112.html
https://blog.csdn.net/annotation_yang/article/details/78397239

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • Java输入输出流(一)# Android 是基于 Java 语言编写的,在安卓程序的很多时候会用到有关 I/O ...
    梁加盐阅读 1,439评论 0 4
  • 桐庐县分水镇外范村里范家从乌首翻山可以到达杭州市临安区潜川镇乐平村上沃自然村。过去里范家和上沃两地村民经常...
    天目桐君采药人阅读 242评论 0 0
  • 不知什么时候,他坐在了我的家里,跟我的一群朋友一起,围着炉火谈天说地,他还是印象中的那个他,时而沉默寡言,...
    Northenlight阅读 279评论 2 1
  • 填平新版本Xcode安装插件不成功的坑 一般情况下,安装xcode不成功现象基本上都出现在更新xcode或者重装之...
    forvert阅读 392评论 2 1