Java的简单理解(7)-文件(File)

Java
70. 文件处理

I/O处理中最常见的是对文件的操作,java.io包中有关文件处理的类有:FileFileInputStreamFileOutputStreamRamdomAccessFileFileDescriptor;接口有FilenameFilter

一. 文件描述

File提供了一种与机器无关的方式来描述一个文件对象的属性。下面介绍类File中提供的各种方法。

1. 文件或目录的生成
  • public File(String path)
    如果path是实际存在的路径,则该File对象表示的是目录,如果path是文件名,则该File对象表示的是文件。

  • public File(String path,String name)
    path是路径名,name是文件名。

  • public File(File dir,String name)
    dir是路径名,name是文件名。

2. 文件名的处理
  • public String getName()
    得到一个文件的名称(不包含路径)
  • public String getPath()
    得到一个文件的路径名
  • public String getAbsolutePath()
    得到一个文件的绝对路径名
  • public String getParent()
    得到一个文件的上一级目录名
  • public boolean renameTo(File dest)
    重命名文件的抽象路径名
3. 文件属性测试
  • public boolean exists()
    测试当前File对象所指示的文件是否存在
  • public boolean canWrite()
    测试当前文件是否可写
  • public boolean canRead()
    测试当前文件是否可读
  • public boolean isFile()
    测试当前文件是否是文件(不是目录)
  • public boolean isDirectory()
    测试当前文件是否是目录。
4. 普通文件信息和工具
  • public long lastModified()
    得到文件最近一次修改的时间
  • public long length()
    得到文件的长度,以字节为单位
  • public boolean delete()
    删除当前文件
5. 普通文件信息和工具
  • public boolean mkdir()
    根据当前对象生成一个由该对象指定的路径
  • public String[] list()
    列出当前目录下的文件
public static void main(String[] args) {
    File dir = new File("E:\\java"); // 表示一个目录
    System.out.println("list java files in directory" + dir); // 输出路径名
    
    String[] files = dir.list(); // 列出目录下所有的文件
    
    for (int i = 0; i < files.length; i++) {
        File f = new File(dir,files[i]); // 为每一个文件创建一个File对象
        
        if (f.isFile()) { // 如果是文件
            System.out.println("File" + f); // 输出文件名
        } else {
            System.out.println("sub directory" + f); // 输出目录名
        }
    }
}

输出结果:
list java files in directoryE:\java
FileE:\java\1.java
FileE:\java\2.java
File f4 = new File("d:/src3/TestFile666");
f4.createNewFile(); // 创建一个新的文件

mkdir: 创建目录的时候,如果前面的父目录存在,就创建;如果不存在,就创建失败。
mkdirs: 不管前面的目录存在不存在,不存在的话,则创建所有的目录

二. 文件的顺序处理

类FileInputStream和FileOutputStream用来进行文件I/O处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序地读写。

下面这段代码为顺序读取当前目录下文件名为text.txt的文件的内容。

public static void main(String[] args) {
    FileInputStream fis;
    try {
        fis = new FileInputStream("E:\\java\\text.txt");
        System.out.println("content of text is : ");
        int b;
        while ((b = fis.read()) != -1) { // 顺序读取文件里的内容并赋值给变量b,直到文件结束
            System.out.print((char)b);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

你可能感兴趣的:(Java的简单理解(7)-文件(File))