第十四周总结 Io之文件流

Posted shsy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十四周总结 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中关闭

技术图片

以上是关于第十四周总结 Io之文件流的主要内容,如果未能解决你的问题,请参考以下文章

第十四周课程总结&实验报告

第十四周课程总结&实验报告

2019Java第十四周课程总结

第十周课程总结

第十四周课程总结&实验报告(简单记事本的实现)

第十四周课程总结&实验报告