Java基础——Java IO基础知识(字节字符流、缓冲流)

我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研)
记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结+网上借鉴)
希望大家能一起发现问题和补充,也欢迎讨论👏👏👏

Java IO基础知识

IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。

img

根据数据的处理方式又分为字节流字符流
InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。
OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。

区分原因:

  • 字符流是由 Java 虚拟机将字节转换得到的,这个过程还算是比较耗时;
  • 如果我们不知道编码类型的话,使用字节流的过程中很容易出现乱码问题。

IO流是一种流式的数据输入/输出模型:

  • 二进制数据以byte为最小单位在InputStream/OutputStream中单向流动;
  • 字符数据以char为最小单位在Reader/Writer中单向流动。

Java的IO系统是基于流的概念构建的,所有的I/O都是通过流来完成的。流可以看作是一个连续的数据序列,这些数据可以从一个地方传输到另一个地方。

File类

File类位于java.io包中,主要用于表示文件或目录路径名。

public class File implements Serializable, Comparable<File>{
   
    ...
}

构造函数:

File(String pathname) 根据给定的路径字符串创建一个新的 File 实例。(路径可以是绝对路径或相对路径)
File(String parent, String child) 根据父路径字符串和子路径字符串创建一个新的 File 实例。parent 是父目录的路径,child 是文件或子目录的名称。
File(File parent, String child) 根据父 File 对象和子路径字符串创建一个新的 File 实例。parent 是父目录的 File 对象,child 是文件或子目录的名称。
File(URI uri) 根据给定的 URI 创建一个新的 File 实例。
  • URI: 统一资源标识符,包括URL和URN。
  • URL: 统一资源定位符,用于定位资源的位置。
  • URN: 统一资源名称,用于唯一命名资源。

File类常用方法:

boolean exists() 检查文件或目录是否存在
boolean isFile(); boolean isDirectory() 检查是否为文件检查是否为目录
boolean createNewFile() 创建新文件
boolean mkdir();boolean mkdirs() 创建目录创建多级目录
boolean delete() 删除文件或目录
String getPath();String getAbsolutePath();String getCanonicalPath() 获取文件路径

代码例子:

public class FileExample {
   
    public static void main(String[] args) {
   
        // 定义文件路径
        String filePath = "example.txt";
        File file = new File(filePath);

        try {
   
            // 创建新文件
            if (file.createNewFile()) {
   
                System.out.println("File created: " + file.getName());
            } else {
   
                System.out.println("File already exists.");
            }

            // 写入内容到文件
            FileWriter writer = new FileWriter(file);
            writer.write("Hello, World!\nThis is a test file."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值