6.IO流(2016年10月07日01:08:06创建)

  • 分类
  • 输入流
    • 大致方法

分类

  1. 流向:输入流与输出流
  2. 数据:
    1. 字节流
    2. 字符流
  3. 功能:
    1. 节点流:包裹源头
    2. 处理流:增强功能,提高性能

输入流

大致方法

关于输入流的问题大致分四步:

  1. 设立代理
  2. 建立管道(通用性)
  3. 数据装箱(效能)
  4. 结尾手工

以下是个人理解
处理IO流的软件相当一个搬运公司,真实文件好比是一间需要搬运的房子(包括房子里的一切).

1.设立代理:
File类建立的对象貌似拥有文件的身份但却不是文件,因为没有内容,就像是一个影子.除了内容,它几乎可以以假乱真.验证,读取大小,设立目录,删除,甚至可以做到创建文件.现实世界中,我能最快想到的符合File身份的一个词,就是代理.
所以,读取文件之前,我们需要给文件在程序中找到一个代理:
文件代理人f先生: File f = new File("房屋地址");
f先生只负责代理,不负责搬运

代码:

// 建立连接
    File f = new File("/Users/######/Documents/test.txt");//代理人 f先生
    if (!f.exists()) {//创建文件
        System.out.println("文件不存在,正在创建");
        try {
            f.createNewFile();//只是为了验证代理f先生的能力
            System.out.println();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("文件创建失败");
        }
    }else {
        System.out.println("文件已找到");
    }

2.建立管道:
Inputstream类产生的对象就是搬运队,这个搬运队里根据业务不同有众多分枝
Inputstream
|---AudioInputStream
|---ByteArrayInputStream
|---FileInputStream-->文件运输队
|---FilterInputStream
|---InputStream
|---ObjectInputStream
|---PipedInputStream
|---SequenceInputStream
|---StringBufferInputStream
因为要搬运的是文件,我们需要一个负责搬运的b先生,b先生虽然是文件运输队的b = new FileInputStream(f);,但是在此之前我们创建b先生的时候用的却是InputStream b = null;将b先生声明称一个InputStream抽象类.这里使用的是多态的性质.为了代码的通用性.即我们只需要知道b先生是个搬运工,至于哪个方面的,搬运公司(编译器)决定.

代码:

// 设立管道
        InputStream b = null;//管道
        try {
            b = new FileInputStream(f);
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
            System.out.println("文件不存在");
        }

3.数据装箱

未完...睡觉

时间: 2024-10-21 05:43:09

6.IO流(2016年10月07日01:08:06创建)的相关文章

海豚驾考2016年10月8日系统升级公告

海豚驾考2016年10月8日系统升级公告 功能概述: 1.学员报名支付成功后 2.相关人员登陆后台为学员指派一个教练(后面系统完善后,由系统自动指派) 3.在后台[教练列表页]可以查看所有教练各个阶段下的学员人数 4.教练在微信端个人中心页,进入[我的学员]列表页,可以查看各个阶段下的学员 5.教练根据学员的阶段,安排学员学习(包括准备资料.科目一.科目二.... 直到拿本) 6.教练可以在微信上给学员约车(以及取消预约).设置学员的进度 1.微信 - 教练端个人中心页升级(查看我的学员 ->

传智播客 2015年 刘意_Java基础视频-深入浅出精华版 笔记(day21~)(2016年3月26日01:10:44)

day21 1.编码表概述和常见编码表 计算机只能识别二进制数据,早期由来是电信号. 为了方便应用计算机,让它可以识别各个国家的文字. 就将各个国家的文字用数字来表示,并一一对应,形成一张表. ASCII:美国标准信息交换码. 用一个字节的7位可以表示. ISO8859-1:拉丁码表.欧洲码表 用一个字节的8位表示. GB2312:中国的中文编码表. GBK:中国的中文编码表升级,融合了更多的中文文字符号. GB18030:GBK的取代版本 BIG-5码 :通行于台湾.香港地区的一个繁体字编码方

2016年10月27日--css样式表

CSS样式表 样式表分类 1.内联样式表 和html联合显示,控制精确,但是可重用性差,冗余多. !doctype html> <html> <head> <meta charset="UTF-8"> <title>css内嵌样式</title> </head> <body> <style type="text/css"> #div{width:100px;heig

2016年10月27日--格式布局

格式布局 1.position:fixed 相对于浏览器窗口来对元素进行定位 position:fixed <html> <head> <style type="text/css"> p.one { position:fixed; left:5px; top:5px; } p.two { position:fixed; top:30px; right:5px; } </style> </head> <body> &

2016年10月18日cf

f**k写完前两题睡觉去了. A. Buy a Shovel 题意:给定两个数k,r表示一个铲子卖k元,现在你手上有无数个十元钱和一张r元的钱,问最少买几个铲子能让你用掉这张r元钱,或不用这张钱. 题解:"灭顶之灾" 这不就是一道思博题吗..不说题解了 1 #include <iostream> 2 #include <stdio.h> 3 using namespace std; 4 int main() 5 { 6 int k,r,i=1; 7 cin>

2016年10月19日--传值、传址、结构体

传值---传址 传值:将变量名中存放的值进行传输 private void 传值(int a) { a += 10; } static void Main(string[] args) { //实例化 初始化 这个类 Program hs = new Program(); int a = 0; hs.传值(a);//a不变 } 格式 传址:将这个变量名直接传输过去,若在另一边有赋值情况,这边的值会发生变化 private void 传址(int a, out int b) { b = a + 1

2016年10月16日--ArrayList集合、特殊集合

ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); ArrayList与Array的名字很相似. 相同点: (1)两者都实现了IList.ICollection.IEnumerable接口: (2)两者都可以使用整数索引访问集合中的元素,包括读取和赋值,且集合中的索引都从0开始. 不同点: (1)ArrayList是集合,而Array是数组: (2)Arra

2016年10月1日 训练 QAQ

据说这是zld的题 书写比赛 [问题描述]最近,SZ 在高一各个班级都举行了书写比赛,具体内容是让同学们走上讲台在黑板上写下几段文字.现在,你所在的班级有 N 个人,座号分别为 1~N(即给定顺序),每个同学按座号顺序需要书写 S 段文字. 书写过程中, 每个人的速度是不一样的, 每个同学每个单位的时间可以书写 Vi 段文字,当一组上讲台的人中最慢的人完成书写,就轮到下一组继续书写.不幸的是,老教室的讲台陈年失修,当站在上面的同学的体重大于 W 的时候就会崩塌.每个同学的重量 Qi 是不同的,每

2016年10月13日--二维数组、多维数组、推箱子

数组:相同数据类型的元素按照一定的顺序进行排列的 二维数组 int[,] array = new int[3, 2]; int[,] array = new int[3, 4] { { 1, 2, 3, 4 }, { 1, 2, 3, 4 }, { 1, 2, 3, 4 } }; int[,] array = new int[3, 4] {{ 1, 2, 3, 4 }, { 1, 2, 3, 4 }, { 1, 2, 3, 4 } }; [3, 2]   3表示有三个一维数组 [3, 2]