Java学习之File类理解

Posted 忘尘天外天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习之File类理解相关的知识,希望对你有一定的参考价值。

File类是io包中唯一代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等。File类的对象主要用来获取文件本身的一些信息,如文件所在目录、文件的长度、文件读写权限等。数据流可以将数据写入到文件中,而文件也是数据流最常用的数据媒体。

1、文件的创建与删除

可以使用File类创建一个文件对象,File类构造方法:

(1)File(String  pathname)

该构造方法通过将给定路径名字字符串转换为抽象路径来创建一个新File实例。

new  File(String pathname) 

pathname:是指路径名(包含文件名)

File file = new  File("D:/test.txt")或者  File  file  =new  File("D:\\\\test.txt")

(2)File(String  parent ,String child)

该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File实例。

(3)File(File f ,String child)

该构造方法根据parent抽象路径名和child路径名字符串创建一个新File实例。

使用File类创建一个文件对象:File  file  =  new File("D:/myword","word.txt");

如果D:/myword目录中没有名称为word的文件,File类对象可通过调用createNewFile()方法创建一个名称为word.txt的文件;如果word.txt文件存在,可以通过文件对象的delete()方法将其删除。

import java.io.File;
import java.io.IOException;

public class FileTest {
  public static void main(String[] args) {
  File file = new File("D:\\\\test","test6.txt");
    if(file.exists()){
    file.delete() ;
      System.out.println("文件已删除!");
  }else {
  try {
    file.createNewFile() ;
      System.out.println("文件已创建!");
  } catch (IOException e) {

    e.printStackTrace();
      }
        }
    }
  }

2、获取文件信息

File类提供了很多用于获取文件本身的一些信息,常用方法:

File类常用方法
方法 描述
String   getName() 获取文件的名称
boolean  canRead() 判断文件是否是可读的
boolean  canWrite() 品判断文件是否可被写入
boolean  exits() 判断文件长度是否存在
int  length() 获取文件的长度(以字节为单位)
String  getAbsolutePath() 获取文件的绝对路径
String  getParent() 获取文件的父路径
boolean  isFile() 判断此抽象路径名表示的文件是否为普通文件
boolean  isDirectory() 判断此抽象路径名表示的是否是一个目录
boolean  isHidden 判断文件是否是隐藏文件
long  lastModified() 获取文件最后修改时间
Boolean  canExecute()
测试应用程序是否可以执行此抽象路径名表示的文件。 
boolean  createNewFile() 当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件。
boolean  delete() 删除由此抽象路径名表示的文件或目录。
File[]  listFiles()  返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
String[]  list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
boolean  mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。可创建多层文件包
boolean  mkdir() 创建由此抽象路径名命名的目录。只能创建一层文件包
boolean  reNameTo(File dest) 重命名由此抽象路径名表示的文件。
boolean  setReadOnly()
标记由此抽象路径名命名的文件或目录,以便只允许读取操作。 
boolean  setWritable(boolean  writable)
一种方便的方法来设置所有者对此抽象路径名的写入权限。 

 

以上是关于Java学习之File类理解的主要内容,如果未能解决你的问题,请参考以下文章

Java学习之IO一

Java学习之IO二

java学习之IO字符流

Java基础学习之--理解Object类

Java学习之IO字节流

java学习之xml