Java笔记-高级篇(2)

第六章 IO流

一.File文件
File类:文件和目录路径名的抽象表象形式(文件/文件夹)

File(File parent,String child):根据字符串创建一个File实例

File(String parent,String child):通过将给定路劲名字符串转换为抽象路径名的实例

File(String pathname): 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例

createNewFile()创建文件 :当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件(boolean类型)1.只能创建文件 2.文件必须不存在

exists() :判断此抽象路径名表示的文件或目录是否存在。(boolean类型)

getCanonicalPath() :返回此抽象路径名的规范路径名字符串。

getName() :返回由此抽象路径名表示的文件或目录的名称。

getParent(): 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null

delete() : 删除此抽象路径名表示的文件或目录(返回boolean类型)
创建文件夹:(Boolean)
1.mkdir() : 创建此抽象路径名指定的目录。//创建文件夹时父目录必须存在
2.mkdirs() :创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。//创建文件夹时父目录可以不存在

isDirectory() :测试此抽象路径名表示的文件是否是一个目录。(是否是文件夹)

isFile(): 测试此抽象路径名表示的文件是否是一个标准文件。(是否是文件)

listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

二.IO流(输入流/输出流)

  1. 字节流:字节输入流,字节输出流
  2. 字符流:字符输入流,字符输出流
    Append:False(覆盖)/True(追加)
    在输出流中 \r\n:代表换行
                  \t::在excel中的换列

(1)IO流基本结构
在这里插入图片描述

Reader:
所有的输入字符流的父类(抽象类)
BufferedReader
InputStreamReader->FileReader:基本介质流从本地中读取数据
StringReader:从字符串中读取数据
PipeReader:和其他线程共用的管道工具
CharArrayeader:从char数组读取数据
BufferReader:缓冲流
Writer:
Filewriter:本地文件中写入数据
CharArrayWriter:数组char中写入数据
StringWriter:字符串中写入数据
(2)IO概念和作用
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将抽象为各个种类。
(3)IO流的分类
1.根据处理数据类型不同分为:字符流和字节流
2.根据数据流向不同分为:输入流和输出流
3.根据同数据源之间的直接关系分为:节点流和处理流
(4)字节流和字符流
1)字符流:数据编码不同,对字符进行操作的对象,本质是基于字节流读取时,指定的码表
1.字节流和字符流的区别:
a.读写单位不同:字节流以字节为单位,字符流以字符为单位,
b.处理对象不同:字节流能处理所有类型的数据,字符流只能处理字符类型的数据
c.字节流:一次读入或读出8位二进制
d.字符流:一次读入或读出16位二进制
设备上无论是图片还是视频文字,都以二进制储存的,二进制最终都以一个8位数据单元体现,所以计算机中最小数据单元为字节。字节流可以处理设备上的所有数据,所有字节流一样可以处理字符数据
2.)结论:只要处理纯文本数据,就优先考虑使用字符流,除此之外都使用字节流。
字节流:
InputStream:所有输入字节流的父类
OutputStream:
(5)输入流和输出流
(6)节点流和处理流
节点流:直接使用与数据源相连,读取数据或者写入
为了更快的读写文件,使用处理流(减少磁盘操作,提高效率)
常用的节点流

  1. 父类:InputStream,OuputStream,Reader,Writer
  2. 文件:FileInputStream等
  3. 数组:
  4. 字符串
  5. 管道
    处理流:间接操作,在节点流基础之上再套接一层,套接在节点流上就是处理流,如果没有节点流,处理流不能单独操作。
  6. 缓冲流:增加了缓冲功能
  7. 转换流:InputStreamReader,OutputStreamReader实现字节流和字符流之间的转换
  8. 数据流:DataInputStream,DataOutputStream等提供将基础数据类型写入到文件中,或者读取出来
全部评论

相关推荐

首先讲三个故事,关于牛客的事件一:2024年,牛客上有一对高学历情侣,求职方向与我当时一致,都是嵌入式方向。他们恰好是我的朋友,专业能力和学历背景都很扎实,也因此拿到了不少优质offer。和很多求职者一样,他们把offer情况整理后发在平台上,本意是记录与交流,但很快引发了争议。有声音指责他们“集邮”“不释放名额”,认为这种展示本身就是一种炫耀。最终讨论失控,当事人删除内容,事件也很快被遗忘。事件二:小红书评论区,一条评价获得了不少共鸣:“感觉牛客就是当年那群做题区毕业了开始找工作还收不住那股味,颇有一种从年级第一掉到年纪第二后抱怨考不上大学的味道”,这条评论被水印里这个同学转发到牛客后,评论...
小型域名服务器:当看到别人比自己强的时候,即便这是对方应得的,很多人会也下意识的歪曲解构对方的意图,来消解自己在这本就不存在的比较中输掉的自信,从而平白制造出很多无谓的争论。比如你会在空余时间来写优质好文,而我回家只会暗区突围,那么我就可以作为键盘侠在这里评论你是不是XXXXXXXX。即便我自己都知道这是假的,但只要这没那么容易证伪,那么当你开始回应的时候,脏水就已经泼出去了,后面可能会有更多的人带着情绪来给我点赞,而毫不关注你写的文章内容本身是啥了。
SAGIMA牛马咖啡
点赞 评论 收藏
分享
2025-11-18 15:12
门头沟学院
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务