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类是唯一 一个与文件本身操作(创建.删除.重命名等 ...
随机推荐
- 内存写越界导致破环堆结构引起的崩溃问题定位经验[如报错malloc(): memory corruption或free(): invalid next size]
前段时间开发的一个后端C模块上线后,线上出core,初始时,因为訪问压力不大,所以崩溃是上线3天左右出现的.当时用gdb跟进调用堆栈并检查源代码,发现出core位置的代码沒有啥问题.因为当时开发任务较 ...
- Shell传参的多种方式
Shell 传参的多种方式 使用$1 $2 这种类似占位符的方式 # 命令行调用 start.sh 8080 9090 # 脚本中获取 port1=$1 # 8080 port2=$2 # 9090 ...
- MYSQL:基础——3N范式的表结构设计
基于3N范式的数据表设计 范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小. 关系数据库现有六种范 ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- P3768 【简单的数学题】
P3768 [简单的数学题] \(Ans=\sum ^{n}_{i=1}\sum ^{n}_{j=1}ijgcd(i,j)\) \(=\sum ^{n}_{i=1}\sum ^{n}_{j=1}ij\ ...
- mini2440移植uboot 2014.04(三)
我修改的代码已经上传到github上,地址:https://github.com/qiaoyuguo/u-boot-2014.04-mini2440.git 参考文档: s3c2440手册(下载地址) ...
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions【素数问题】
题目地址:http://poj.org/problem?id=3006 刷了好多水题,来找回状态...... Dirichlet's Theorem on Arithmetic Progression ...
- bzoj 2005: [Noi2010]能量采集 筛法||欧拉||莫比乌斯
2005: [Noi2010]能量采集 Time Limit: 10 Sec Memory Limit: 552 MB[Submit][Status][Discuss] Description 栋栋 ...
- Hive- Hive 的基本操作
创建数据库 create database db_hive; use db_hive; create database if not exists db_hive_02; create databas ...
- flex与js交互浅析
1.flex调用js方法 调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/&q ...