【学习总结|DAY020】Java FIle、字符集、IO流

今天学习了Java中存储和读写数据的重要工具:File和IO流。这两者相辅相成,共同构成了Java处理文件和数据的基石。

File:文件操作利器

File类代表文件和目录路径名,可以用来获取文件信息、创建/删除文件/目录、判断文件类型等。

  • 路径: 分为绝对路径和相对路径,绝对路径从盘符开始,相对路径不带盘符,默认到当前工程下寻找文件。
  • 信息获取: 可以获取文件名、大小、最后修改时间等信息。
  • 创建和删除: 可以创建文件和目录,但默认只能删除空目录和文件。
  • 遍历文件夹: 可以获取文件夹下所有一级文件和目录的路径,但不能递归遍历。

IO流:读写数据通道

IO流是读写数据的通道,可以读写文件、网络中的数据等。根据内容分为字节流和字符流,根据方向分为输入流和输出流。

  • 字节流: 以字节为单位读写数据,适合处理所有类型的文件,例如音频、视频、图片等。
  • 字符流: 以字符为单位读写数据,适合处理文本文件,例如txt、java文件等。
  • 缓冲流: 内置缓冲区,可以提高读写效率,例如BufferedReader、BufferedWriter等。
  • 转换流: 解决不同编码时字符流读取文本内容乱码的问题,例如InputStreamReader、OutputStreamWriter等。
  • 打印流: 提供更方便、更高效的打印数据功能,例如PrintStream、PrintWriter等。
  • 数据流: 允许把数据和其类型一并写出去,例如DataInputStream、DataOutputStream等。
相关推荐
MartinYeung524 分钟前
[论文学习]PACT:溯源感知能力合约——面向智能体安全的参数级溯源
人工智能·学习·安全
阿米亚波25 分钟前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
丙氨酸長鏈31 分钟前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#
Nontee33 分钟前
设计模式:模板方法与策略,从“每个字都认识“到能说清它们在干嘛
java·数据库·设计模式
我是唐青枫34 分钟前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言
QH139292318801 小时前
# R&S ZNB43 ZNA43 ZNA67矢量网络分析仪
开发语言·网络·php
晨曦中的暮雨2 小时前
Virtual Thread 优化 Spring AI 阻塞式 LLM I/O:对照压测报告
java·并发·个人项目
脚踏实地皮皮晨2 小时前
003003001_Grid控件
开发语言·windows·算法·c#·visual studio
十年磨剑走天涯2 小时前
C++ STL 容器操作复杂度速查表
开发语言·c++
always_TT2 小时前
【Python requirements.txt 依赖管理】
开发语言·python