码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Java基础】File类 IO流


    个人简介

    > 📦个人主页:是Lay的主页
    > 🏆学习方向:JAVA后端开发 
    > 📣种一棵树最好的时间是十年前,其次是现在!
    > ⏰往期文章:【Java基础】面向对象进阶(二)
    > 🧡喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。

    目录

    1. File的使用

    1.1 创建File类的对象

     1.2 File 类的作用

     1.3 绝对路径和相对路径是什么样的

     1.4 如何遍历文件夹下的文件对象,使用哪个API,有什么特点?

    2. 补充知识: 方法递归

      2.1 什么是方法递归?

      2.2 递归的形式

      2.3 方法递归存在的问题?

      2.4 递归算法三要素大体总结 

    3. 补充知识: 字符集

      3.1 常见字符集底层字符的编码是什么样的?

      3.2 编码前的字符集和解码时的字符集有什么要求?

      3.3 如何使用程序对字符进行编码?

      3.4 如何使用程序进行解码?

    4. IO流: 概述

      4.1 学习方式

      4.2 IO流的作用?

      4.3 IO流是怎么划分的,大体分为几类,各自的作用?

    5. IO流: 字节流

      5.1 字节输入流InputStream

      5.2 字节输出流OutputStream

      5.3 字节流适合做一切文件数据的拷贝吗?

    6. IO流: 资源释放的方式

      6.1 try-catch-finally的作用

      6.2 try-catch-resource的作用


    1. File的使用

    1.1 创建File类的对象

     new File(String pathname) :这个参数是一个String类型的路径名,这个路径可能是:
    1)文件的路径 “E:\JT_SOFT\1.txt”
    2)文件夹的路径 “E:\JT_SOFT\a”
    3)之前不存在的文件/文件夹的路径:这个路径暂时在windows中还未创建出来
    注意:new File类的对象只是在内存中多个一个Java对象,并不会真的帮我们在外部创建一个新的文件/文件夹

     1.2 File 类的作用

      创建对象定位文件, 可以删除, 获取文件信息等. 但是不能读写文件内容

     1.3 绝对路径和相对路径是什么样的

            1). 绝对路径是带盘符的

            2). 相对路径是不带盘符的, 默认到当前工程下寻找文件 

     1.4 如何遍历文件夹下的文件对象,使用哪个API,有什么特点?

            1). public File[ ] listFiles()(常用)。

            2). 只能遍历当前文件夹对象下的一级文件对象。

    2. 补充知识: 方法递归

      2.1 什么是方法递归?

            1). 递归做为一种算法在程序设计语言中广泛应用。

            2). 方法调用自身的形式称为方法递归( recursion)。

      2.2 递归的形式

            1). 直接递归:方法自己调用自己。

            2). 间接递归:方法调用其他方法,其他方法又回调方法自己。

      2.3 方法递归存在的问题?

            递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象

      2.4 递归算法三要素大体总结 

            1). 递归的公式: f(n) =  f(n-1) * n;

            2). 递归的终结点:f(1)

            3). 递归的方向必须走向终结点:

    3. 补充知识: 字符集

      3.1 常见字符集底层字符的编码是什么样的?

            1). 英文和数字等在任何国家的字符集中都占1个字节

            2). GBK字符中一个中文字符占2个字节

            3). UTF-8编码中一个中文1般占3个字节

      3.2 编码前的字符集和解码时的字符集有什么要求?

            1). 必须一致,否则会出现字符乱码

            2). 英文和数字不会乱码

      3.3 如何使用程序对字符进行编码?

            String类下的方法:

            byte[ ] getBytes​():默认编码

            byte[ ] getBytes​(String charsetName):指定编码

      3.4 如何使用程序进行解码?

            String类的构造器:

            String​(byte[ ] bytes):使用默认编码解码

            String​(byte[ ] bytes, String charsetName)):指定编码解码

    4. IO流: 概述

      4.1 学习方式

            学习抽象父级的公共方法 学习子类流对象的创建方式

      4.2 IO流的作用?

            读写文件数据的

      4.3 IO流是怎么划分的,大体分为几类,各自的作用?

            字节输入流 InputStream(读字节数据的)

            字节输出流 OutoutStream(写字节数据出去的)

            字符输入流 Reader(读字符数据的)

            字符输出流 Writer(写字符数据出去的)

    5. IO流: 字节流

      5.1 字节输入流InputStream

    InputStream--抽象父类--不能实例化
    FileInputStream--文件字节输入流-FIS
    BufferedInputStream--高效字节输入流-BIS

        FIS in = new FIS(new File(路径));
        FIS in = new FIS(路径);
        BIS in = new BIS( new FIS(new File(路径)));
        BIS in = new BIS(new FIS(路径));

      5.2 字节输出流OutputStream

    OutputStream--抽象父类,不能实例化
    FileOutputStream--文件字节输出流--FOS
    BufferedOutputStream--高效字节输出流-BOS

        FOS out = new FOS(new File(路径));  
        FOS out = new FOS(路径);
        BOS out = new BOS(new FOS(new File(路径))); 
        BOS out = new BOS(new FOS(路径));

      5.3 字节流适合做一切文件数据的拷贝吗?

            任何文件的底层都是字节,拷贝是一字不漏的转移字节,只要前后文件格式、编码一致没有任何问题。

    6. IO流: 资源释放的方式

      6.1 try-catch-finally的作用

            finally代码块是最终一定要执行的,可以在代码执行完毕的最后用于释放资源。

      6.2 try-catch-resource的作用

            自动释放资源、代码简洁

      

     

  • 相关阅读:
    【项目实战】从零开始设计并实现一个接口异常链路分析器
    ffmpeg+安卓+yolo+RK3399部署
    2022-07-28
    c++数组教程
    Android 性能优化之黑科技开道(二)
    Vue 3的革命性新特性:深入了解Composition API
    TCP协议之《套接口快速接收路径》
    飞利浦Fidelio B97全景声家庭影院,让你在家享受“暑期档”
    Linux:基础开发工具之yum,vim,gcc的使用
    scrapy框架-Middleware(爬虫中间件)
  • 原文地址:https://blog.csdn.net/LKS_010620/article/details/126862036
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号