Paths和Files
Paths 类 Paths 类主要用于操作文件和目录路径。它提供了一些静态方法,用于创建java.nio.file.Path实例,代表文件系统中的路径。 // 创建一个Path实例,表示当前目录下的一个文件 Path path = Paths.get("example.txt"); // 创建一个绝对路径 Path absolutePath = Paths.get("/home/use...
Paths 类 Paths 类主要用于操作文件和目录路径。它提供了一些静态方法,用于创建java.nio.file.Path实例,代表文件系统中的路径。 // 创建一个Path实例,表示当前目录下的一个文件 Path path = Paths.get("example.txt"); // 创建一个绝对路径 Path absolutePath = Paths.get("/home/use...
AQS是AbstractQueuedSynchronizer的简称,即抽象队列同步器,从字面上可以这样理解: 抽象:抽象类,只实现一些主要逻辑,有些方法由子类实现; 队列:使用先进先出(FIFO)的队列存储数据; 同步:实现了同步的功能。 AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的同步器,ReentrantLock,Semapho...
在 Java 中,关键字 synchronized 可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同时我们还应该注意到 synchronized 的另外一个重要的作用,synchronized 可保证一个线程的变化(主要是共享数据的变化)被其他线程所看到(保证可见性,完全可以替代 volatile 功能)。 synch...
BIO 全称 Block-IO 是一种同步且阻塞的通信模式。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。 Java NIO,全程 Non-Block IO ,是 Java SE 1.4 版以后,针对网络传输效能优化的新功能。是一种非阻塞同步的通信模式。 NIO 与原来的 I/O 有同样的作用和目的, 他们之间最重要的区别是数据打包和传输的方式。原来...
PrintStream 是 OutputStream 的子类,PrintWriter 是 Writer 的子类。 打印流具有以下几个特点: 可以自动进行数据类型转换:打印流可以将各种数据类型转换为字符串,并输出到指定的输出流中。 可以自动进行换行操作:打印流可以在输出字符串的末尾自动添加换行符,方便输出多个字符串时的格式控制。 可以输出到控制台或者文件中:打印流可以将数据输...
转换流主要有两种类型:InputStreamReader 和 OutputStreamWriter。 InputStreamReader 将一个字节输入流转换为一个字符输入流,而 OutputStreamWriter 将一个字节输出流转换为一个字符输出流。它们使用指定的字符集将字节流和字符流之间进行转换。常用的字符集包括 UTF-8、GBK、ISO-8859-1 等。 编码和解码 ...
Java 的缓冲流是对字节流和字符流的一种封装,通过在内存中开辟缓冲区来提高 I/O 操作的效率。Java 通过 BufferedInputStream 和 BufferedOutputStream 来实现字节流的缓冲,通过 BufferedReader 和 BufferedWriter 来实现字符流的缓冲。 缓冲流的工作原理是将数据先写入缓冲区中,当缓冲区满时再一次性写入文件或输出流,或...
使用字节流该如何正确地读出中文: try (FileInputStream inputStream = new FileInputStream("a.txt")) { byte[] bytes = new byte[1024]; int len; while ((len = inputStream.read(bytes)) != -1) { Syst...
字节输出流(OutputStream) java.io.OutputStream 是字节输出流的超类(父类),我们来看一下它定义的一些共性方法: 1、 close() :关闭此输出流并释放与此流相关联的系统资源。 2、 flush() :刷新此输出流并强制缓冲区的字节被写入到目的地。 3、 write(byte[] b):将 b.length 个字节从指定的字节数组写入此输出流。...
java.io.File 类是专门对文件进行操作的类,注意只能对文件本身进行操作,不能对文件内容进行操作,想要操作内容,必须借助输入输出流。 File 类是文件和目录的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 File 构造方法 比较常用的构造方法有三个: 1、 File(String pathname) :通过给定的路径来创建新的 File 实例。 2、 Fil...