java021
file讲解:文件和目录路径名的抽象表示形式
IO流操作的是数据,而数据一般是以文件的表现形式。
File类:用来将文件或者文件夹封装成对象
方便对文件与文件夹的属性信息进行操作
file对象可以作为参数传递给流的构造函数
File类常见的方法:
1. 文件的创建:
boolean createNewFile():在指定位置下创建文件,如果该文件已经存在,则不创建,
返回false.和输出流不一样,输出流对象一建立创建文件,而且文件已经存在。
boolean mkdir():创建文件夹
boolean mkdirs():创建多级文件夹
2. 删除文件:
boolean delete():删除失败返回false,如果文件正在被使用,则删除不了
void deleteOnExit() 在程序退出时删除指定文件。
3. 判断:
boolean exists():文件是否存在
因为仅仅通过File file = new File("1.txt");中的1.txt是不能判断
file是否是文件还是文件夹,因为1.txt可以作为文件还是文件夹的名称使用
isFile():判断是否是文件,前提条件要先createNewFile创建
isDirectory():判断是否是目录,前提要先mkdir,mkdirs创建
exists():测试此抽象路径名表示的文件或目录是否存在。前提条件要先createNewFile创建
isHidden():判断是否是隐藏文件;
isAbsolute():判断是否是绝对路径。
3. 获取信息:
getPath():获取路径
getAbsolutePath():获取绝对路径
getPerent():获取绝对路径中的父目录,如果获取的是相对路径,返回null,
如果相对路径中有上一层目录那么该目录就是返回的结果。
listRoots():返回系统的盘符:c:
d:..
list(“目录”):列出所有在该目录下的文件和文件夹(包括隐藏文件)
假如“目录”是文件类型则会抛异常(空指针,因为文件没有目录就没有包含其他文件
或文件夹当遍历时就会出现异常)
list(FilenameFilter filter):列出通过了过滤器的文件
4.修改:
file1.renameTo(file2)://此方法类似于剪切,但是假如在目标中有被重名的文件那么会重命名不成功
5.遍历文件夹
listFile中存在递归:
· packagexyxysjxy.io.file;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileWriter;
importjava.io.FilenameFilter;
importjava.util.ArrayList;
importjava.util.List;
publicclassFileTest1
{
publicstaticvoidmain(String[]
args)throwsException {
method6();
}
publicstaticvoidmethod6()throwsException
{
File file =newFile("I:\\tupian");
List<File> files =newArrayList<File>();
listMenus(files, file);
System.out.println(files.size());
FileWriter fw =newFileWriter("I:\\tupian\\1.txt");
BufferedWriterbw=newBufferedWriter(fw);
for(File f : files) {
bw.write(f.getAbsolutePath());
bw.newLine();
bw.flush();
}
}
// 列出文件夹的清单文件
publicstaticvoidlistMenus(List<File>
filess, File file) {
if(file.isDirectory()) {
File files[] = file.listFiles();
if(files !=null&&
files.length!= 0) {
for(File f : files) {
if(f.isFile()) {
filess.add(f);
}else{
listMenus(filess, f);
}
}
}
filess.add(file);
}
}
// 目录的删除,写递归啊,觉得就应该把要递归语句当作已经完成了。继续写接下来要执行的语句
publicstaticvoiddeleteDirFiles(File
file) {
if(file.isDirectory()) {
File files[] = file.listFiles();
if(files !=null&&
(files.length!= 0)) {
for(File f : files) {
if(f.isFile())
System.out
.println(file.toString() +"dir"+
f.delete());
else
deleteDirFiles(f);
}
System.out.println(file.toString() +"dir"+
file.delete());
}else
System.out.println(file.toString() +"dir"+
file.delete());
}
}
// 递归调用遍历文件
publicstaticvoiddiGui(File
file,intlevel) {
if(file.isDirectory()) {
System.out.println(cengJi(level++) + file);
File files[] = file.listFiles();
if(files !=null&&
(files.length!= 0))
for(File file2 : files) {
diGui(file2, level);
}
}
System.out.println(cengJi(level++) + file);
level--;
}
publicstaticString
cengJi(intlevel) {
StringBuilder sb =newStringBuilder();
for(intl
= 0; l < level; l++)
sb.append(" ");
returnsb.toString() +"|--";
}
publicstaticvoidmethod5()throwsException
{
File file1 =newFile("F:\\");
// String files[] = file1.list();
// File files[] = file1.listFiles();
String files[] = file1.list(newFilenameFilter()
{
@Override
// 接口回调方式:dir是this,name是文件名(在该目录下的通过fs.list())
publicbooleanaccept(File
dir, String name) {
System.out.println("dir:"+
dir +"name:"+ name);
if(name.endsWith(".mp3"))
{
returntrue;
}
returnfalse;
}
});
for(String file : files) {
System.out.println("file:"+
file);
}
}
publicstaticvoidmethod4()throwsException
{
File file1 =newFile("e:\\1.txt");
// file1.createNewFile();
File file2 =newFile("f:\\2.txt");
// 此方法类似于剪切,但是假如在目标中有被重名的文件那么会重命名不成功
System.out.println(file2.renameTo(file1));
}
publicstaticvoidmethod3()throwsException
{
File file1 =newFile("f:\\a\\1.txt");
// file1.createNewFile();// 必须是已经存在的路径
// file1.mkdirs();
System.out.println(file1.exists());
System.out.println(file1.isFile());
System.out.println(file1.isDirectory());
System.out.println(file1.isAbsolute());
}
publicstaticvoidmethod2()throwsException
{
File file1 =newFile("f:\\a\\b\\c","1.txt");
file1.mkdirs();
file1.createNewFile();
// file1.deleteOnExit();
// file1.delete();
}
publicstaticvoidmethod1()
{
File file1 =newFile("f:\\a\\b\\c\\1.txt");
File file2 =newFile("f:\\a\\b\\c\\d","2.txt");
File file3 =newFile("f:"+
File.separator+"a"+
File.separator
+"b"+ File.separator+"c"+
File.separator+"d"
+ File.separator+"e","3.txt");
File d =newFile("f:\\a\\b\\c\\d\\e\\f");
File file4 =newFile(d,"f.txt");
sop(file1);
sop(file2);
sop(file3);
sop(file4);
}
publicstaticvoidsop(File
file) {
System.out.println(file.toString());
}
}
相关推荐
用开源的JAR包分析 不多说了 工作中用的比较多
if(file.isFile() && file.exists()){ //判断文件是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考虑到编码格式 BufferedReader bufferedReader = new ...
不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。...
html前端技术,原生js上传文件,代码结构清晰、简短、易于理解,建议收藏。
Intel HEX文件是由一行行符合Intel ...这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPROM编程器或模拟器使用Intel HEX文件。
种子文件解析器和Python创建者 .torrent文件的简单解析器。 也可以在0.2.0版之后编辑并写回到torrent格式。 特征 种子文件的解码器和编码器 使用指定的编码和错误处理程序将字节字段自动解码为字符串 使用auto编码...
该程序完成从XXX.h264编码文件中解析出视频的基本单元NALU,NALU是H.264码流解码的基本单元。NALU包括起始码和数据部分,对于起始码,程序可以解析出0x000001或者0x00000001开头的NALU。程序由main()、int parse_h...
$file_info 就是我们获取到的bt文件的信息,里面包含了bt文件的服务器地址,文件个数和文件大小等信息,其中: 文件名称:$bt[‘info’][‘files’][/*这边要是个偶数*/][‘path.utf-8′][0]; 文件大小:$bt[...
不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。...
midi-json-parser 该模块将midi文件解析为人类可读的JSON对象。 此模块解析二进制MIDI文件,并将其转换为JSON表示形式。 然后可以使用此JSON表示将其传递给 。 当然,也可以通过使用将其修改为再次编码为二进制MIDI...
不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。...
如果在表单中使用表单元素 “file” />,浏览器在解析表单时,会自动生成一个输入框和一个按钮,输入框可供用户填写本地文件的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件: 当表单...
out=file(“name.txt”,”w”) for filename in filenames: out.write(filename.decode(“gb2312”).encode(“utf-8”)) out.close() 将执行文件的当前目录及文件名写入到name.txt文件中,以utf-8格式...
告诉浏览器用何种编码来解析html或者JSP文件。 window-->Preferences-->MyEclipse-->Files and Editors-->选择子项-->Encoding 例如:选择UTF-8, 新建jsp文件的时候,contentType="text/html; charset=UTF-8" ...
韦东山第三期视频数码相框中的电子书项目的ShowOnePage函数解析 iLen = g_ptEncodingOprForFile->... 这里得到一个字 但是得到的编码并不是返回值而是存在*pdwCode里 返回的是本次一共处理了文件里的多少个字
Base64编码的证书 -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- 包含在openssl x509 -in /path/to/file -text可以输出信息 确认 验证是通过libmis的MISProvisioningProfileCheckValidity函数完成的 ...
pem是许可的Python模块,用于解析和拆分,即Base64编码的DER密钥和证书。 它在Python 2.7和3.5+上运行,没有依赖关系,并且不会尝试以任何方式解释证书数据。 它源于从各种证书部署中加载密钥,证书,信任链和DH...
要对自己的csv文件进行地址解析,您需要在index.js更改以下变量: const INPUT_CSV = 'input/test.csv' ; // location of the input csv file const OUTPUT_CSV = 'output/test.csv' ; // location where to store ...
按【F3】键或者“File->Open”菜单命令,打开1.c文件, 按【Ctrl+F9】键,或者“Run->Run”菜单命令,编译运行该程序。 ◎ 光盘目录清单如下: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 ...
自己开发的XML DOM计数程序DOMCount,使用DOM API解析XML文件,构造DOM树,然后遍历DOM树并计算元素个数(仅使用一个API调用)。 DOMCount解析XML文件,计算其元素数并打印。 用法: DOMCount [options]<XML file...