Java基础IO(对文件的操作)

一.理解文件

  1.文件可以简单的理解为在外设硬盘上面保存数据的一种方式
  2.文件以共可以由两部分构成:属性(文件大小,文件名,文件类型等)+内容(就是文件里面放的是什么)
  3.JavaIO,对文件写入或者读取的过程称之为IO

二.File文件操作类

  在java.io包之中,用File类来对文件进行操作(创建,删除,获得信息等)

1.File类的使用

Java.io.File类是一个普通的类,如果要实例化对象,则常用到两个构造方法

方法 解释
public File(String pathname) 创建指定路径文件对象
public File(String parent,String child) 同上,但可以指明父路径和子路径

2.File类常用方法——基本文件操作

方法 说明
public boolean exists() 判断一个文件是否存在
public boolean isDirectory() 判定一个文件是目录
public boolean isFile() 判定是否是文件
public boolean delete() 删除文件
public boolean createNewFile() throws IOException 创建一个新文件

代码示例1-检测文件是否存在:

package com.bittech;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;

        File file=new File(pathname);
        boolean res=file.exists();
        System.out.println(res);
    }
}

运行结果:
Java基础IO(对文件的操作)_第1张图片



代码示例2-检测是否是目录,是否是文件,删除:

package com.bittech;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;

        File file=new File(pathname);

        boolean res=file.isDirectory();
        System.out.println("是否是目录:"+res);

        boolean res1=file.isFile();
        System.out.println("是否是文件:"+res1);

        file.delete();
        if(file.exists()){
            System.out.println("删除失败!");
        }else{
            System.out.println("删除成功!");
        }
    }
}

运行结果:
Java基础IO(对文件的操作)_第2张图片
  此时去到路径下已经没有demo.txt文件了




代码示例3-创建新文件:

package com.bittech;

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

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo1.txt";
        String pathname=path+name;

        File file=new File(pathname);

        if(!file.exists()){
            try {
                file.createNewFile();
                System.out.println("文件创建成功!");
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println("文件创建失败!");
            }
        }else{
            System.out.println("文件已经存在!");
        }
    }
}

运行结果(运行两次即文件已经存在):
Java基础IO(对文件的操作)_第3张图片


注意:
 实际项目环境可能与开发环境不同,所以要注意分隔符,windows下使用的是 \,而linux/unix系统下使用的是/。


3.File类常用方法——目录操作

方法 解释
public boolean mkdir() 创建一个空目录
public boolean mkdirs() 创建目录(无论有多少级父目录,都会创建)
public String getParent 取得父路径
public File getParentFile 取得父File对象



代码示例1-创建指定一个或者多个目录的路径:

package com.bittech;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        //String dir_name="demo_dir";
        String dir_name="demo_dir\\dir1\\dir2\\";     //会逐层创建
        String pathname=path+dir_name;

        File file=new File(pathname);
        if(!file.exists()){
           // file.mkdir();
            file.mkdirs();
            System.out.println("路径创建成功!");
        }else{
            System.out.println("路径已存在!");
        }
    }
}


观察路径变化:已经成功创建
在这里插入图片描述



代码示例2-获取父路径:

package com.bittech;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String dir_name="demo_dir\\dir1\\dir2\\";     //会逐层创建
        String pathname=path+dir_name;

        File file=new File(pathname);
        System.out.println(file.getParent());
    }
}

运行结果:
在这里插入图片描述


代码示例3-获取父目录File对象,并在父目录下,创建文件demo.java:

package com.bittech;

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

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        String path="E:\\java-code\\file\\";
        String dir_name="demo_dir\\dir1\\dir2\\demo.java";
        String pathname=path+dir_name;
        File file=new File(pathname);

        File pfile=file.getParentFile();
        if(!pfile.exists()){
            pfile.mkdirs();
        }

        if(!file.exists()){
            file.createNewFile();
        }
    }
}

运行结果:
Java基础IO(对文件的操作)_第4张图片


4.File类常用方法——文件属性操作

方法 解释
public long length() 取得文件大小(字节)
public long lastModified() 最后一次修改日期


代码示例1-取得文件信息:

package com.bittech;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileDemo3 {
    public static void main(String[] args) throws IOException {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;
        File file=new File(pathname);

        if(!file.exists()){
            file.createNewFile();
        }
        System.out.println(name+"size="+file.length());
        System.out.println(name+"最近修改时间="+new Date(file.lastModified()));
    }
}

运行结果:
在这里插入图片描述



5.绝对路径与相对路径

  绝对路径:是指目录下的绝对位置,直接到达目标位置。完整的描述文件位置的路径就是绝对路径。如E:\java-code\file\Test.java

  相对路径:相对于某个基准目录的路径。如当前路径为E:\\javacode,要描述上述路径(E:\\javacode\\Java\\Test.java),只需要输入Java\\Test.java即可



6.File类常用方法——其他操作

方法 解释
public File[] listFiles() 列出一个目录指定的全部组成



代码示例-列出某个目录中的全部组成:

package com.bittech;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileDemo3 {
    public static void main(String[] args) throws IOException {
        //保证路径是正确且存在的
       File file=new File("E:\\linuxtools");
       File[] result=file.listFiles();
       for(File file1:result){
           System.out.println(file1);
       }
    }
}

运行结果:
Java基础IO(对文件的操作)_第5张图片

你可能感兴趣的:(JavaWeb总结笔记)