File 类 操作实例
File 操作
<介绍>
尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。此外,File还浏览子目录层次结构。很多程序中文件是数据的根源和目标。尽管它们在小应用程序中因为安全原因而受到严格限制,文件仍是存储固定和共享信息的主要资源。Java中的目录当成File 对待,它具有附加的属性——一个可以被 list( )方法检测的文件名列表。
package com.io;
import java.io.File;
import java.io.IOException;
public class Que1 {
/*
* requirement: File
* File 类的实例是不可变的;
* 也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。
*构造方法:File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
*/
// 创建方法
// 1.boolean createNewFile() 不存在返回true 存在返回false
// 2.boolean mkdir() 创建目录
// 3.boolean mkdirs() 创建多级目录
//
// 删除方法
// 1.boolean delete()
// 2.boolean deleteOnExit() 文件使用完成后删除
public static void main(String[] args) {
File myfile = new File("D:\\test/myword.txt");//创建实例
//多大:
System.out.println(myfile.length());
File myfile2 = new File("D:\\Program Files");
File files[] = myfile2.listFiles(new MyfileNameFiler(".txt"));//过滤器
//获取该目录文件
for (File f:files){
System.out.println(f.getAbsolutePath()+"文件名:"+f.getName());
}
//判断这个file究竟存不存在??
System.out.println(myfile.exists());//返回boolean
//他是文件还是文件夹呢??
System.out.println(myfile.isFile());//是file
System.out.println(myfile.isDirectory());//false
System.out.println(myfile2.isDirectory());
//绝对路径?
System.out.println(myfile.getAbsolutePath());
System.out.println(myfile.getName());
//删除成功就是true
System.out.println(myfile.delete());
System.out.println("创建文件");
try {
System.out.println(myfile.createNewFile());
//当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
//检查文件是否存在,若不存在则创建该文件,
//这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。
} catch (IOException e) {
e.printStackTrace();
}
}
}
这个是FilenameFilter筛选对应的文件格式
package com.io;
import java.io.File;
import java.io.FilenameFilter;
public class MyfileNameFiler implements FilenameFilter {
String endsWith;
public MyfileNameFiler(String endsWith) {
this.endsWith = endsWith;
}
@Override
public boolean accept(File dir, String name) {
return name.endsWith(endsWith);//取非的时候,不是以这个结尾的将会选择出来
}
}
重点内容
File 还包括两个有用的实用工具方法。第一个是renameTo( ),显示如下:
(1)boolean renameTo(File newName)
这里,由newName指定的文件名变成了所调用的File 对象的新的名称。如果更名成功则返回ture,文件不能被重命名(例如,你试图重命名文件以使它从一个目录转到另一个目录,或者你使用了一个已经存在的文件名),则返回false。
(2)第二个实用工具方法是delete( )
该方法删除由被调用的File对象的路径指定的磁盘文件。它的形式如下:
boolean delete( )
同样可以在目录为空时用delete( )删除目录。如果删除了文件,delete( )返回true,如果文件不能被删除则返回false。Java 2 为File 类增添了一些新的方法,你会发现在某些场合这些新增方法很有用。
一些最有趣的方法显示如下:
方法 描述
void deleteOnExit( ) 在java虚拟机终止时删除与调用对象相关的文件
boolean isHidden( ) 如果调用的文件是隐藏的,返回true;否则返回 false。
boolean setLastModified(long millisec) 设置由millisec指定的调用文件的时间标志,Millisec是从1970年1月1号开始的标准时间(UTC)的毫秒数
boolean setReadOnly( ) 设置调用文件为只读
并且,因为File 类现在支持Comparable 接口,compareTo( )方法也被支持。
版权声明:本文为博主原创文章,未经博主允许不得转载。
File 类 操作实例的更多相关文章
- 使用File类操作文件或目录的属性
在学I/O流之前,我先总结一下使用File类操作文件或目录的属性. package com.File; import java.io.File; import java.io.IOException; ...
- PDF.NET数据开发框架实体类操作实例
PDF.NET数据开发框架实体类操作实例(MySQL)的姊妹篇,两者使用了同一个测试程序,不同的只是使用的类库和数据库不同,下面说说具体的使用过程. 1,首先在App.config文件中配置数据库连接 ...
- java.io.File类操作
一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...
- 第8章 File I/O,File类操作文件的属性
1.文件 1.1.什么是文件? 答:文件可认为是相关记录或放在一起的数据的集合 1.2.文件- -般存储在哪里? 答: 磁盘,硬盘,文件夹 1.3.JAVA程序如何访向文件属性? JAVA API:i ...
- File类操作文件
简单示例: public static void main(String[] args) { // 列出系统所有的根路径 File[] listRoots = File.listRoots(); fo ...
- 文件操作(File类等)API摘要
Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有). 虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式.如果虚拟机从一个交互式命令行开始启 ...
- 【C# IO 操作】 Path 路径类 |Directory类 |DirectoryInfo 类|DriveInfo类|File类|FileInfo类|FileStream类
Directory类 Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多 ...
- JAVA实现File类中的遍历操作并输出内容
package shb.java.testIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
- Java IO编程——File文件操作类
在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一 一个与文件本身操作(创建.删除.重命名等 ...
随机推荐
- QT设置QToolBar带有图标和文字
ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- 4django模板
在前面的几节中我们都是用简单的django.http.HttpResponse来把内容显示到网页上,本节将讲解如何使用渲染模板的方法来显示内容 1.创建一个 zqxt_tmpl 项目,和一个 名称为 ...
- LeetCode:有效三角形的个数【611】
LeetCode:有效三角形的个数[611] 题目描述 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有 ...
- html5 css3 进度条特效
https://www.html5tricks.com/tag/css3%E8%BF%9B%E5%BA%A6%E6%9D%A1/page/3
- 3.07课·········if分支语句
语句分类:顺序语句,选择语句(分支语句),循环语句 分支语句:(一)if(表达式) //表达式返回值是True或False{}说明:1.表达式返回的是bool值:2.小括号和花括号后面不需要加分号. ...
- 跨平台(I版到K版)迁移实践总结
所谓跨平台迁移,对于了解openstack冷迁移过程的同学来说,其实就是手动去执行冷迁移的代码行为,当然像我这种抵制体力劳动的人,肯定会想写脚本去跑,即使不会也要边学边用. 迁移并非想象 ...
- rail模型
rail是一种以用户为中心的性能模型,又google提出,其主要目标是让用户满意,主要分为response animation idle load四个部分 response 输入延迟时间小于100毫秒 ...
- 利用Tkinter做的自动生成JSONSchema的小工具
前面讲到可以使用JSONSchema做json数据校验, 但是每个接口数据都手动写jsonschema太痛苦了, 就写了个小脚本,可以直接复制接口文档的mock数据然后生成一个简单的jsonschem ...
- App开发流程之创建项目和工程基本配置
我的开发环境为:Mac OS X EI Capitan(10.11.6),Xcode 7.3.1 首先说明一下这个项目的初衷,我并非要创建一个完整的上架应用,旨在创建一个可运行的,通用配置.架构,提供 ...
- 大话设计模式--适配器模式 Adapter -- C++实现实例
1.适配器模式: 将一个类的接口转换为客户希望的另一个接口,使得原来由于接口不能一起工作的那些类一起工作. 适配器模式一般用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况. 适配器模式分 ...