java文件操作相关知识
-
Java文件操作类效率对比 前言众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例:面向字节流的:FileOutputStream 和 BufferedOutputStream面向字符流的:FileWriter 和 BufferedWriter近年来发展出New I/O ,也叫NIO,里面又包装了两个类:NewOutputStream 和 NewBufferedWriter现在,我们建立测试程序,比较这些类写入文件的性能。机器配置" cdata_tag="style"> Processor Name: Intel Core i7 Processor Speed: 2.2 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache
-
Java文件操作类效率对比前言众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例:面向字节流的:FileOutputStream 和 BufferedOutputStream面向字符流的:FileWriter 和 BufferedWriter近年来发展出New I/O ,也叫NIO,里面又包装了两个类:NewOutputStream 和 NewBufferedWriter现在,我们建立测试程序,比较这些类写入文件的性能。机器配置" cdata_tag="style"> Processor Name: Intel Core i7 Processor Speed: 2.2 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB
-
Java 文件流操作.一、概念 在Java中,文件的输入和输出是通过流(Stream)来实现的。一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL。对于流而言,我们不用关心数据是如何传输的,只需要向源端输入数据,从目的端获取数据即可。 流按照处理数据的单位,可以分为字节流和字符流。字节流的处理单位是字节,通常用来处理二进制文件,例如音乐、图片文件等。而字符流的处理单位是字符,因为Java采用Unicode编码,Java字符流处理的即为Unicode字符,所以在操作汉字、国际化等方面,字符流具有优势。回到顶部二、字节流 所有的字节流类都继承自InputStream 和 OutputStream 这两个抽象类,下面列举了5个输入字节流类,输出字节流类和输入字节流类存在对应关系,这个就不一一列举了。FileInputStream:把一个文件作为输入源,从本地文件系统中读取数据字节,实现对
-
Java的IO前奏曲:文件操作类之___FileJava的IO前奏曲:文件操作类之___File 在java.io包里面,File类是唯一一个与文件本身操作有关的类,但是不会涉及到文件本身的具体内容(包括文件创建,删除等操作) 代码中的注释有详细说明: package cn.dujiang.demo; import java.io.File; /** * 1、创建文件:file.createNewFile() * public class TestDemo { public static void main(String[] args) throws Exception {//此处直接抛出 File file = new File("F:\test.text") ; System.out.println(file.cre
java文件操作相关课程
java文件操作相关教程
- Java 流式操作 流式操作,是 Java 8 除了Lambda表达式外的又一重大改变。学习流式操作,就是学习java.util.stream包下的API,我们称之为Stream API,它把真正的函数式编程引入到了 Java 中。本小节我们将了解到什么是Stream,为什么使用Stream API, 流式操作的执行流程,如何实例化Stream,Stream的中间操作、Stream的终止操作等内容。
- 40 Go 语言的文件操作 本文主要介绍 Go 语言中对文件系统的操作,Go 语言内置库中提供了丰富的文件操作函数,所以本文主要介绍使用Go 语言中的内置包——“os” 来实现文件操作。
- os 模块操作文件与文件夹 在日常工作中,我们经常会和文件、文件夹打交道,比如将服务器上指定目录下文件进行归档,或将爬虫爬取的数据根据时间创建对应的文件夹 / 文件,如果这些还依靠手动来进行操作,无疑是费时费力的,这时候 Python 中的 os 模块就必不可少了。本小节将围绕 os 模块的使用进行介绍。
- 2. os 模块操作文件与文件夹 os 模块是 Python 中操作文件与文件夹时常用的模块,os 模块中常用方法见下表。方法名描述 getcwd() 获取当前工作目录 listdir(path) 获取指定的文件夹包含的文件或文件夹的名字的列表 rename(src,dst) 用于文件或文件夹重命名 makedirs(path) 用于递归创建文件夹 removedirs(path) 用于递归删除文件夹 remove(path) 删除指定路径的文件 open(file, flags[, mode]) 打开文件 read(fd,n) 读取指定文件 wirte(fd,str) 写入内容 walk(dir) 文件、目录遍历器os.path 模块中常用方法见下表。方法名描述 os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 Falseos.path.join(path1[, path2[, …]]) 把目录和文件名合成一个路径下面来具体看下每个方法的使用:getcwd () 使用:import osprint(os.getcwd()) #输出:D:\code代码解释:当前代码文件存放在 D:\code 下,导入 OS 模块,使用 getcwd () 方法,获取当前工作目录,打印结果为 “D:\code”,如下图所示。listdir () 使用:import osprint(os.listdir('.'))#输出:['dingding.py', 'image', 'index.py', 'writeppt.py', 'writeword.py']代码解释:listdir () 方法可以获取指定的文件夹包含的文件或文件夹的名字的列表,目前 D:\code 目录下文件结构如下图所示。通过 listdir () 方法传递指定目录,代码中传递 “.” 表示当前目录,输出结果:[‘dingding.py’, ‘image’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],如下图所示。rename () 使用:import osos.rename("image","newimage")os.rename("dingding.py","newdingding.py")代码解释 :rename () 方法为重命名文件或文件夹,第一个参数为要重命名的文件名或文件夹名,第二个参数为修改后的名称,上述代码中将文件夹 “image” 重名为 “newimage”,将文件 “dingding.py” 重名为 “newdingding.py”,代码执行完成后,D:\code 目录下效果如下图所示。makedirs () 使用:import osos.makedirs("dist/src/code")代码解释:makedirs () 方法用于递归创建目录,参数即为需要递归创建的目录,上述代码指定 “dist/src/code”,即表示创建一个 dist 文件夹,其中包含 src 文件夹,在 src 下包含 code 文件夹。代码执行完成后,D:\code 目录下效果如下图所示。removedirs () 使用:import osos.removedirs("dist/src/code")print(os.listdir('.'))#输出:['newdingding.py', 'newimage', 'index.py', 'writeppt.py', 'writeword.py']代码解释 :removedirs () 方法用于递归删除目录,参数为要递归删除的目录,上述代码指定 “dist/src/code”,即将 dist 文件夹下 src 文件夹下 code 文件夹一并进行删除。执行完删除后,通过 listdir () 方法查看当前目录下文件结构,输出 [‘newdingding.py’, ‘newimage’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],可以看到已经完成删除操作。代码执行完成后,D:\code 目录下效果如下图所示。remove () 使用:import osos.remove("newdingding.py")print(os.listdir('.'))#输出:['newimage', 'index.py', 'writeppt.py', 'writeword.py']代码解释 :remove () 方法用于删除指定文件,上述代码中删除 “newdingding.py” 文件,删除完成后,通过 listdir () 方法查看当前目录文件结构,输出 [‘newimage’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],可以看到已经完成删除操作。代码执行完成后,D:\code 目录下效果如下图所示。open () 使用:import osos.open("writeppt.py",os.O_RDONLY)代码解释:open () 方法用于打开指定文件,第一个参数为要打开的文件,第二个参数为打开的模式,可以取值如下所示:OS.O_RDONLY:以只读的方式打开;OS.O_WRONLY:以只写的方式打开;OS.O_RDWR:以读写的方式打开;OS.O_NONBLOCK:打开时不阻塞;OS.O_APPEND:以追加的方式打开;OS.O_CREAT:创建并打开一个新文件;OS.O_TRUNC:打开一个文件并截断它的长度为零(必须有写权限);OS.O_EXCL:如果指定的文件存在,返回错误;OS.O_SHLOCK:自动获取共享锁;OS.O_EXLOCK:自动获取独立锁;OS.O_DIRECT:消除或减少缓存效果;OS.O_FSYNC:同步写入;OS.O_NOFOLLOW:不追踪软链接。上述代码中,打开 writeppt.py 文件,以只读方式打开,返回新打开文件的描述符,可以进行后续的读取、写入操作。read () 使用:import OSfs=os.open("writeppt.py",OS.O_RDONLY) # fs 就是 writeppt.py 的文件描述符print(OS.read(fs,24))代码解释 :read () 方法为从文件描述符中读取文件内容,第一个参数为 open () 方法打开文件返回的文件描述符,第二个参数为读取的字节数。上述代码中读取 writeppt.py 文件 24 个字节内容。代码执行完成后,输出效果如下图所示。write () 使用:import osfs=os.open("test.txt",os.O_RDWR) # fs 就是 test.txt 的文件描述符,打开模式设置为以读写的方式打开print(os.write(fs,"hello python")) #写入内容为hello python代码解释:write () 方法用于写入字符串到文件描述符 fs 中,第一个参数为文件描述符,第二个参数为写入的字符串内容。代码执行完成后,输出效果如下图所示。walk () 使用:import osfor dirpath, dirnames, filenames in os.walk("D:/code"): #输出:D:/code ['newimage'] ['index.py','test.txt','writeppt.py','writeword.py'] print(dirpath, dirnames, filenames)代码解释:os.walk () 方法是一个简单易用的文件、目录遍历器,接收参数为要遍历的目录的地址,返回的是一个三元组 (dirpath, dirnames, filenames),分别表示当前正在遍历的这个文件夹的本身的地址、该文件夹中所有的目录的名字、该文件夹中所有的文件。代码中指定目录 D:/code,执行时会遍历 D 盘 code 目录下所有文件和文件夹,输出效果如下图所示。os.path.exists () 使用:import osprint(os.path.exists("D:\\code\\index.py")) #输出trueprint(os.path.exists("D:\\code\\test.py")) #输出False代码解释 :exists () 方法判断路径是否存在,上面代码中在 D 盘 code 文件夹下存在 index.py,所以输出 true,不存在 test.py,输出 False。代码执行完成后,输出效果如下图所示。os.path.join () 使用:import os#输出D:\code\2020\11print(os.path.join("D:\\code\\","2020\\","11"))代码解释:join () 方法用于把目录和文件名合成一个路径。代码执行完成后,输出效果如下图所示。
- 2.1 重命名文件 重构的操作通常可以通过鼠标右键调出来的上下文菜单中进行选择。比如,我们希望对我们的 Java 文件进行重命名,那么我们可以通过鼠标右键点击想要重命名的文件,然后选择 Refactor -> Rename,如下图所示:接着,在 New Name这一栏填写我们想要修改成的名称,比如我们希望修改 FirstTest.java 为 FirstTest2.java,如下图所示:点击 Next 后,Eclipse 将向我们展示如果我们执行了该重构操作将会发生的变更,以及预览,如下图所示:接着点击 Finish 后,这次重构就完成了。可以看到,我们通过重构操作对 Java 文件进行重命名后,Eclipse 会自动帮助我们同步修改文件中的类名。同理,我们如果对包名(文件夹)进行重命名, Eclipse 也会帮我们自动修改包下所有Java 文件中的包名信息,操作方式和重命名文件一样,大家可以自行尝试。
- 4. 对查找到的文件执行操作 有时候需要对查找到的指定文件执行特定的操作:cd /find ./home -name *.txtfind ./home -name *.txt -exec rm {} \;find ./home -name *.txt执行结果如下图:Tips:注意 find ./home -name *.txt -exec rm {} \; 后面的 ; 不要漏掉, -exec 表示执行某个操作,rm 表示删除操作。
java文件操作相关搜索
-
j2ee
j2ee是什么
jar格式
java
java api
java applet
java c
java jdk
java list
java map
java script
java se
java socket
java swing
java switch
java web
java xml
java 程序设计
java 多线程
java 环境变量