Java - 文件(IO流)

简介: Java - 文件 (IO)流的分类:    > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter    > 缓冲流:BufferedInputOutStrea...
Java - 文件 (IO)

流的分类:
    > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter
    > 缓冲流:BufferedInputOutStream | BufferedOutputStream | BufferedReader | BufferedWriter
    > 转换流:InputStreamReader | OutputStreamWriter
    > 标准输入 / 输出流:
    > 打印流(很少用):PrintStream | PrintWriter
    > 数据流(很少用):DataInputStream | DataOutputStream
    > 对象流(涉及序列化 / 反序列化):ObjectInputStream | ObjectOutputStream
    >随机存取文件流:RandomAccseeFile

一、java.io.File类的大概使用
    > 凡是与输入输出相关的类、接口都定义在java.io包下
    > File类对象是与平台无关的
    > File中的方法,仅涉及到如何创建、删除、重命名等等,涉及文件内容的必须由IO流来做
    > File类的对象长作为IO流的具体类的构造器的形参

1、File表示一个文件`
    File file = new File("文件的绝对路径:F:/Program File/1.txt");
    // 在当前目录下
    File file = new File("文件的相对路径:1.txt");

2、File表示一个路径
     File file = new File("文件的绝对路径:F:/Program File/");

3、方法介绍:
    > getName():文件名
    > getPath():文件路径
    > getAbsoluteFile()
    > getAbsolutePath()
    > getParent()
    > renameTo(File new Name):文件重命名
    > exists():文件是否存在
    > canWrite():文件是否可写
    > canRead():文件是否可读
    > isFile():是否是一个文件
    > isDirectory():是否是一个目录
    > lastModified():文件最后的修改时间
    > length():文件内容的大小
    > createNewFile():新建一个文件
    > delete():删除一个文件
    > mkdir():创建一个文件夹
    > mkdirs():创建一个文件夹,若上层文件夹不存在,则一起创建
    > list():列出file目录下的所有文件,以String的形式
    > listFiles()

二、Java IO流的使用
    > 除了处理文本文件的流为字符流,其他的流都是字节流

1、FileInputStream | FileOutputStream
    > 抽象基类:InputStream OutputStream Reader Writer
    > FileInputStream:
        >  read():一次读取一个字节,每次调用返回一个字节的数据,当读到文件末尾,返回 -1,读取的文件一定要存在
            File file = new File("文件路径");
            FileInputStream fs = new FileInputStream(file);    
            // 读取文件
            fs.read();
        > read(buffer []):将文件读取到一个Byte类型的buffer大小的数组中,返回读到的字节数 ,当读到文件末尾,返回 -1
    > FileOutputStream:
        > write(buffer []):将一个buffer字节数组写入文件
相关文章
|
11月前
|
监控 Java API
现代 Java IO 高性能实践从原理到落地的高效实现路径与实战指南
本文深入解析现代Java高性能IO实践,涵盖异步非阻塞IO、操作系统优化、大文件处理、响应式网络编程与数据库访问,结合Netty、Reactor等技术落地高并发应用,助力构建高效可扩展的IO系统。
332 0
|
8月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
327 1
|
10月前
|
Java 测试技术 API
Java IO流(二):文件操作与NIO入门
本文详解Java NIO与传统IO的区别与优势,涵盖Path、Files类、Channel、Buffer、Selector等核心概念,深入讲解文件操作、目录遍历、NIO实战及性能优化技巧,适合处理大文件与高并发场景,助力高效IO编程与面试准备。
|
11月前
|
存储 Java Linux
操作系统层面视角下 Java IO 的演进路径及核心技术变革解析
本文从操作系统层面深入解析Java IO的演进历程,涵盖BIO、NIO、多路复用器及Netty等核心技术。分析各阶段IO模型的原理、优缺点及系统调用机制,探讨Java如何通过底层优化提升并发性能与数据处理效率,全面呈现IO技术的变革路径与发展趋势。
240 3
|
11月前
|
监控 Java API
Java语言按文件创建日期排序及获取最新文件的技术
这段代码实现了文件创建时间的读取、文件列表的获取与排序以及获取最新文件的需求。它具备良好的效率和可读性,对于绝大多数处理文件属性相关的需求来说足够健壮。在实际应用中,根据具体情况,可能还需要进一步处理如访问权限不足、文件系统不支持某些属性等边界情况。
481 14
|
10月前
|
SQL Java 数据库连接
Java IO流(一):字节流与字符流基础
本文全面解析Java IO流,涵盖字节流、字符流及其使用场景,帮助开发者理解IO流分类与用途,掌握文件读写、编码转换、异常处理等核心技术,通过实战案例提升IO编程能力。
|
XML JSON Go
Go语言中的文件与IO:JSON、CSV、XML处理
本文介绍了 Go 语言中对 JSON、CSV 和 XML 三种常见数据格式的处理方法。通过标准库 `encoding/json`、`encoding/csv` 和 `encoding/xml`,可以实现结构体与数据格式之间的序列化与反序列化。JSON 适合 Web API 和前后端通信,因其清晰易读;CSV 适用于表格数据和轻量级交换;XML 则支持复杂嵌套结构,常用于配置文件和 SOAP 协议。文中提供代码示例,涵盖基本使用、嵌套结构处理及实战建议,帮助开发者高效操作这些格式。
|
Unix Go
Go语言中的文件与IO:文件读写
本文介绍了 Go 语言中文件操作的基础方法,涵盖打开与关闭文件、读取和写入文件内容、追加写入以及复制文件等功能。通过 `os`、`bufio` 和 `io` 等标准库包,提供了高效且灵活的实现方式,如使用 `os.ReadFile` 读取整个文件、`bufio.Scanner` 逐行读取、`os.Create` 创建文件以及 `io.Copy` 复制文件内容。同时强调了错误处理的重要性,例如使用 `defer` 确保文件关闭,并推荐注意文件权限设置(如 UNIX 系统中的 `0644`)。最后以表格形式总结了常用操作及其推荐方法,便于快速查阅和应用。
|
Go 数据处理
Go语言中的文件与IO:bufio 和 scanner
Go 标准库中的 `bufio` 包高效读写功能,适用于文件和数据处理。`bufio.Reader` 支持按行或分隔符读取,`bufio.Writer` 提供高性能写入并需调用 `Flush()` 确保数据写入。`bufio.Scanner` 是处理文本文件(如日志、配置)的利器,可按行、单词等分割内容。本文详解其用法,并给出实践建议,如统计字符数、模拟 `tail -f` 和词频分析等。
|
存储 Java 数据安全/隐私保护
Java技术栈揭秘:Base64加密和解密文件的实战案例
以上就是我们今天关于Java实现Base64编码和解码的实战案例介绍。希望能对你有所帮助。还有更多知识等待你去探索和学习,让我们一同努力,继续前行!
702 5