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 类 操作实例的更多相关文章

  1. 使用File类操作文件或目录的属性

    在学I/O流之前,我先总结一下使用File类操作文件或目录的属性. package com.File; import java.io.File; import java.io.IOException; ...

  2. PDF.NET数据开发框架实体类操作实例

    PDF.NET数据开发框架实体类操作实例(MySQL)的姊妹篇,两者使用了同一个测试程序,不同的只是使用的类库和数据库不同,下面说说具体的使用过程. 1,首先在App.config文件中配置数据库连接 ...

  3. java.io.File类操作

    一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...

  4. 第8章 File I/O,File类操作文件的属性

    1.文件 1.1.什么是文件? 答:文件可认为是相关记录或放在一起的数据的集合 1.2.文件- -般存储在哪里? 答: 磁盘,硬盘,文件夹 1.3.JAVA程序如何访向文件属性? JAVA API:i ...

  5. File类操作文件

    简单示例: public static void main(String[] args) { // 列出系统所有的根路径 File[] listRoots = File.listRoots(); fo ...

  6. 文件操作(File类等)API摘要

    Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有). 虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式.如果虚拟机从一个交互式命令行开始启 ...

  7. 【C# IO 操作】 Path 路径类 |Directory类 |DirectoryInfo 类|DriveInfo类|File类|FileInfo类|FileStream类

    Directory类 Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多 ...

  8. JAVA实现File类中的遍历操作并输出内容

    package shb.java.testIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  9. Java IO编程——File文件操作类

    在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一 一个与文件本身操作(创建.删除.重命名等 ...

随机推荐

  1. C#聚合运算方法

    Aggregate 对集合值执行自定义聚合运算 Average 计算集合平均值 Count 对集合的元素惊醒计数,还可以仅对满足某一谓词函数的元素进行计数 LongCount 对大型集合中的元素进行计 ...

  2. MSSQL触发器

    1.触发器语法 CREATE TRIGGER<trigger name> ON [<模式名>.]<表名或视图名> [WITH ENCRYPTION] {{{FOR| ...

  3. docker swarm部署spring cloud服务

    一.准备docker swarm的集群环境 ip 是否主节点   192.168.91.13 是   192.168.91.43 否   二.准备微服务 ①eureka服务 application.y ...

  4. 通过socket和Udp协议简单实现一个群体聊天工具(控制台)

    编写一个聊天程序.有收数据的部分 和 发数据的部分.这两个部分需要同时执行,这就用到多线程技术,一个线程负责收,一个现象负责发. 因为收和发动作是不一致的,所以要定义两个run方法而且这两个方法要封装 ...

  5. jQuery横向手风琴

    在线演示 本地下载

  6. expr 数字操作

    expr 可以用于计算 [root@rhel6 script]# * * [root@rhel6 script]# 使用expr来判断输入的变量是否为整数, 注意这里的&表示  安静模式(没有 ...

  7. EntityFramework 学习 一 Add Entity Graph using DbContext:

    //Create student in disconnected mode Student newStudent = new Student() { StudentName = "New S ...

  8. 算法(Algorithms)第4版 练习 2.2.5

    top-down: M E R G E S O R T E X A M P L E M E R G E S O R T E X A M P L E E X A M P L E merge(input, ...

  9. Function Pointers in C

    来源:https://cs.nyu.edu/courses/spring12/CSCI-GA.3033-014/Assignment1/function_pointers.html Function ...

  10. SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

    原文地址:http://blog.csdn.net/kyle0349/article/details/51751913  尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100% ...