文章目录

  • IO流
    • 相关资源
    • 1. File
      • 访问文件和目录
        • 相对路径和绝对路径
        • 创建文件
        • 查看文件列表
        • 获取所有磁盘的根路径
        • 文件过滤器
      • 小结
    • 2. IO流
      • 流的分类
      • 流的概念模型
    • 3. 字节流和字符流
      • Input和Reader(重点)
      • Output和Writer(重点)
      • 课堂练习
      • close和flush(重点)
      • 带有缓冲区的字符流
      • 将字节流转换成字符流
        • 字节-字符-缓冲对比
    • 4. 数据流
    • 5. 标准输出流
    • 6. 对象专属流
      • 序列化与反序列化
      • 使用对象专属流
      • Java对象序列化的注意
      • idea生成序列化号
    • 7. properties和IO的联合使用
    • 8. 推回输出流(了解)
    • 9. RandomAccessFile(了解)
    • 10. 练习
      • 代码

IO流

相关资源

java IO流详解 - 时光孤岛 - 博客园 (cnblogs.com)

1. File

File类是java.io包下代表与平台无关的文件和目录,如果希望在程序中操作文件和目录,都可以通过File类来完成。

值得指出的是,不管是文件还是目录都是使用File来操作的,File能新建、删除、重命名文件和目录,File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。

注意:

Windows 的路径分隔符使用反斜线(),而 Java程序中的反斜线表示转义字符,所以如果需要在 Windows的路径下包括反斜线,则应该使用两条反斜线,如F:\ \ abc \ \ test.txt,或者直接使用斜线(/ )也可以,Java程序支持将斜线当成平台无关的路径分隔符。

访问文件和目录

File类可以使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。

在默认情况下,系统总是依据用户的工作路径来解释相对路径,通常也就是运行Java虚拟机时所在的路径。

一旦创建了File对象后,就可以调用File对象的方法来访问,File类提供了很多方法来操作文件和目录,下面列出一些比较常用的方法。
1.访问文件名相关的方法

  1. String getName():返回此File对象所表示的文件名或路径名(如果是路径,则返回最后一级子路径名)。

  2. String getPath():返回此File对象所对应的路径名。

  3. File getAbsoluteFile():返回此File对象的绝对路径。

  4. String getAbsolutePath():返回此 File对象所对应的绝对路径名。

  5. String getParent():返回此File对象所对应目录(最后一级子目录)的父目录名。

  6. boolean renameTo(File newName):重命名此File对象所对应的文件或目录,如果重命名成功,则返回true;否则返回false。

2.文件检测相关的方法

  1. boolean exists():判断File对象所对应的文件或目录是否存在。
  2. boolean canWrite():判断File对象所对应的文件和目录是否可写。
  3. boolean canRead(:判断File对象所对应的文件和目录是否可读。
  4. boolean isFile():判断File对象所对应的是否是文件,而不是目录。
  5. boolean isDirectory():判断File对象所对应的是否是目录,而不是文件。
  6. boolean isAbsolute()

    JavaIO流详解——Java教案(十)相关推荐

    1. Java--IO流详解

      目录 一.IO流的介绍 二.IO流的具体详解 (1)字节流 1:FileOutputStream 2:FileInputStream (2)字符流 1:解码编码 2:FileReader 3:File ...

    2. javaIO流详解--读取,写入文件的所有类与方法

      目录 IO流简介: 1 :InputStream 2:OutputStream 3:FileInputStream 4:FileOutputStream 5:利用FileInputStream和Fil ...

    3. 详解Java 8十大新特性

      前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...

    4. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

      一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

    5. Java 中IO流详解(附实例代码/面试题)

      Java I/O流详解 前言 一.I/O流是什么? 二.IO流分类: 1. 流程图: io流对象 2. io流的优缺点: 3. io 流Java中用途有哪些? 三.一些 io 实例 四.面试题: 前言 ...

    6. java接口vm和dto的区别_第十八节:详解Java抽象类和接口的区别

      前言 对于面向对象编程来说,抽象是它的特征之一. 在Java中,实现抽象的机制分两种,一为抽象类,二为接口. 抽象类为abstract class,接口为Interface. 今天来学习一下Java中 ...

    7. mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv

      详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...

    8. css三种定位都脱离文档流了吗,CSS布局之脱离文档流详解——浮动、绝对定位脱离文档流的区别...

      1.代码 (1)示例代码1 CSS布局之脱离文档流详解--浮动.绝对定位脱离文档流的区别 .left { width: 300px; height: 500px; background: red; f ...

    9. 详解Java解析XML的四种方法

      http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

    最新文章

    1. 5G都不能取代的Wi-Fi6,到底有多厉害?
    2. 【HDOJ】4579 Random Walk
    3. 【Android 逆向】Linux 文件分类 ( 普通文件 | 目录文件 | 链接文件 | 字符设备文件 | 管道文件 | 块设备文件 )
    4. C# list集合 重复元素 索引_C#学习笔记12--集合/索引器/扩展
    5. php实现多进程、多线程
    6. devStack安装OpenStack Ocata版本 (Linux Bridge+VLAN)
    7. 面对SDN/NFV部署挑战 网络厂商能做什么?
    8. tcp socket编程 java_JAVA TCP Socket编程 计算题
    9. 201906017学习小程序
    10. qt double 相减不为0_Qt线程同步单生产者多消费者
    11. 金蝶KIS应用虚拟化集成解决方案
    12. win10应用商店打不开_最冷清的应用商店?为何Win10商店无人问津
    13. spring5-介绍Spring框架
    14. C语言printf输出格式说明
    15. 自定义控件:Flag标签
    16. 安装TimeGen波形绘图软件
    17. 找到一个不错的学习python的网站
    18. 关于12378投诉热线的正确打开方式
    19. Berkeley DB(BDB)介绍
    20. 天空卫士陆明:数据法在企业如何落地

    热门文章

    1. 视觉设计师跟平面设计_用户体验设计师应了解的6条视觉设计原则
    2. http方法有哪些?get、post、put、delete,为什么一般只用过get和post?什么时候用put、delete,为什么没用过
    3. SVM算法的生动讲解
    4. [极客大挑战2021]web wp
    5. 不再依赖光荣,全新脚本引擎还原《三国志曹操传》
    6. ubuntu16.04 rtl8821ce无线网卡wifi频繁掉线问题解决
    7. centos7安装gitlab-ce社区版全过程,详细到爆炸
    8. 【校招VIP】培训班包装的简历,面试官能不能一眼看出来?
    9. IT界6个国内技术大牛博客,全栈工程师修行的秘籍!
    10. 简易的java程序,银行管理系统