JavaEE——IO

一、文件的存储位置

文件就是在我们的计算机中,为了实现某种功能或某个软件的部分功能为目的而定义的一个单位.计算机中的存储器分为内存外存,文件一般存储在外存(硬盘)之中.

JavaEE——IO_第1张图片

二、什么是路径

文件路径分为绝对路径相对路径.

2.1 绝对路径

是从盘符开始的路径,例如C:\ProgramFiles\Java\jdk1.8.0_191\bin.

JavaEE——IO_第2张图片
JavaEE——IO_第3张图片

2.2 相对路径:

基于当前路径表示,使用“…/”或"./"开头来表示上一级目录,其中“./”可以省略不写.

三、File类

JavaEE——IO_第4张图片

3.1 常用方法

public class Demo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("test2.txt");
        System.out.println(file.exists());
        System.out.println(file.isDirectory());
        System.out.println(file.isFile());
        System.out.println("==============");
        file.createNewFile();
        System.out.println(file.exists());
        System.out.println(file.isDirectory());
        System.out.println(file.isFile());
    }
}

3.2 创建目录

public class Demo4 {
    public static void main(String[] args) {
        File file = new File("test/aa/b");
        file.mkdirs();
        System.out.println(file.isDirectory());
    }
}

3.3 重命名

public class Demo5 {
    public static void main(String[] args) {
        File file1 = new File("./test2.txt");
        File file2 = new File("./test1.txt");
        file1.renameTo(file2);
    }
}

四、文件的读

首先要打开一个文件,然后使用InputStream来间接修改文件,最后使用close来关闭文件,为了防止中间代码执行出现异常,我们这里用try-with-resource语法来解决这个问题,try中的代码执行结束,自动释放文件描述符表和内存资源.

文件描述符表是有上限的,如果忘记关闭,后续的文件则会打不开.

JavaEE——IO_第5张图片
public class Demo7 {
    public static void main(String[] args)  {
        try(InputStream inputStream = new FileInputStream("test1.txt")) {
            Scanner scanner = new Scanner(inputStream);
            String s = scanner.next();
            System.out.println(s);
        }catch (IOException e) {
            e.printStackTrace();
        }
    }
}

五、文件的写

Writer是一个抽象类,不能直接实例化对象,所以使用它的子类FileWriter.

JavaEE——IO_第6张图片
public class Demo8 {
    public static void main(String[] args) {
        try(Writer writer = new FileWriter("test1.txt")) {
            writer.write("hello world");
        }catch (IOException e) {
            e.printStackTrace();
        }
    }
}

JavaEE——IO_第7张图片

你可能感兴趣的:(javaweb,java-ee,java,开发语言)