• 第十四周总结 Io之文件流


    I/O相关 输入/输出 流(数据流动)
    数据流动的方向 读数据(输入input) 写数据(输出output)
    文件流 字符流 数据流 对象流 网络流....

     1.什么叫文件
                  一种电脑的存储方式
                  文件有不同的格式   .txt .doc  .ppt  .mp4  .jpg  .rar ...
                  文件夹?---目录路径
                  File是一个类
                  File----->与电脑上的文件或文件夹产生一 一对应的的映射关系
                  1.java.io包中
                  2.文件或目录路径名的抽象表示形式
                  3.File与真实硬盘中的文件和文件夹 不是一个东西      
                    File是在内存的一个对象<---映射--->硬盘上的文件或文件夹
                  4.File类中的常用方法
                     canRead()   canWrite()  isHidden()  isFile()  isDirectory
                     length()获取文件中字节的个数
                     lastModified()获取文件最后的修改时间---->毫秒值
                     *String path = getAbsolutePath()  获取文件的绝对路径  D://test//Test.txt
                              绝对路径<-->相对路径
                              绝对路径可以通过完整的字符串 定位盘符 文件夹 文件
                              相对路径没有盘符的写法      当前工程()所在的位置去找寻
                     *String name = getName()获取文件的名字  Test.txt
                     *boolean = createNewFile()        创建新的文件
                     *boolean = mkdir                  创建新的文件     外层没有  不能创建
                     *boolean = mkdirs                 创建新的文件夹   外层没有  可以自动创建
                     *String pname = getParent()       获取当前file的父亲file名字
                     *File file = getParentFile()      获取当前file的父亲file对象
                     String[] names = list()           获取当前file的所有儿子名字
                     *File[] files = listFile()        获取当前file的所有儿子对象
                     *boolean = delete()               删除文件或空的文件夹 不能删除带元素的文件夹
     2.什么叫文件流  做什么  
              读取文件中的内容              向文件写内容
              文件输出流                   文件输出流     
              字节型文件输入流              字节型文件输出流  
              字符型文件输入流              字符型文件输出流  
    

    File类的对象<----->本地硬盘文件
    查看属性
    创建新的文件 新的文件夹
    查看父元素目录
    文件夹的遍历 删除
    file对象不能操作文件中的内容------>通过流I/o的方式来完成

           流按照方向(功能)来区分
                     in(读取)      out(写入)
           操作的目标来区分
                     文件流  数组流  字符串流  数据流  对象流  网络流。。。。
           学习文件流---->
                     顾名思义  读取文件中的信息in  将信息写入文件中out
                     文件流按照读取或写入的单位(字节数)大小来区分
                     
                     字节型文件流(1字节)
                               FileInputStream/FileOutputStream
                     字符型文件流(2字节--1字符)
                                    FileReader/FileWriter
              容器
              1.变量  只能存一份
              2.数组  存储好多个  数据类型统一
              3.集合  存储好多个  存储后个数还能会改变   泛型---数据类型统一
              如上三个都是Java中的类型(对象-->内存)
              都存储在内存中  程序执行完毕  虚拟机停止的时候  内存空间就回收啦
              数据都是临时性存储的
    

              4.文件    存储好多信息
              文件是存储在硬盘上的--->永久性保存
              数据虽然是安全了
              文件毕竟不在内存了 需要通过io操作文件               JDBC
           
              字节型文件输入流
                       FileInputStream
                       1.包  java.io
                       2.了解一下继承关系  InputStream类 字节型输入流的父类
                       3.创建对象
                                调用一个带File类型的构造方法
                                调用一个带String类型的构造方法
                       4.常用方法
                                int code = read();      每次从流管到中读取一个字节  返回字节的code码
                                *int count = read(byte[]) 每次从流管道中读取若干个字节 存入数组
                                int count = availble();    返回流管道中还有多少缓冲的字节数
                                *skip(long n) 跳过几个字节 读取
                                         多线程----> 利用几个线程同时读取文件
                                         10000字节        5个小人同时读取
                                         1-2000  2001-4000  4001-6000  6001-8000  8001-10000
                                *close()  将流管道关闭--必须要做最好放在finally里 注意代码健壮性   判断严谨
              字符型文件输出流        
                        FileOutputStream 将数据写入文件中
                        1.java.io
                        2.继承OutputStream  所有字节型输出流的父类
                        3.创建对象
                                   调用一个带File参数    还有File boolean重载
                                   调用一个带String参数  还有String boolean重载
                        4.常用方法
                                   write(int code);          将给定code对应的字符写入文件 '='
                                   write(byte[])             将数组中的全部字节写入文件  getByte()
                                   flush();                  将管道内的字节推入(刷新)文件
                                   close();                  注意在finally中关闭
                                   available();多少字节缓存    flush();
                                   skip(long count)
    

             字符型文件流
                             FileReader                        FileWriter
                             只能操作纯文本文件(文件右键打开方式 记事本打开 能看懂)
                             .txt
                 
                             FileReader
                             1.Java.io包
                             2.继承 InputStreamReader  Reader
                             3.构造方法
                                         read()
                                         read(char[])
                             FileWriter
                             1.java.io包
                             2.继承 OutputStreamWrite Writer
                             3.构造方法
                                       带file参数         带file,boolean
                                       带String参数       带String,boolean参数
                             4.常用
                                       write(int)
                                       write(char[])
                                       write(string)
                                       flush    close
  • 相关阅读:
    HTML5画图板PhoneGap移植
    简易WCF负载均衡方案
    坑爹的“类型初始值设定项引发异常”
    关于for循环中变量定义的位置
    有道云笔记open api sdk for .net α版
    SL/WPF仿WIN8进度条
    HTML5做个画图板
    Google搜索命令“site:”运算符高级使用技巧:
    ubuntu系统托盘不显示ibus输入法图标(语言栏输入法)的解决方法:
    DOS中如何删除文件夹~
  • 原文地址:https://www.cnblogs.com/shsy/p/12034495.html
Copyright © 2020-2023  润新知