zoukankan      html  css  js  c++  java
  • 文件的创建、删除、重命名

    -------------siwuxie095

       

       

       

       

       

    工程结构目录如下:

       

       

       

       

       

    1、文件的创建:

       

    代码:

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //由于只指定了文件名,而没有指定路径,即相对路径

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    File file=new File("hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    //文件:判断file是否是文件

    System.out.println(file.isFile());

    //路径(文件夹):判断file是否是目录

    System.out.println(file.isDirectory());

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    第一次运行一览:

       

       

       

    选中工程名:HelloFile,右键->Refresh,或 直接 F5 进行手动刷新

    (注意:Eclipse 的文件浏览器 即 Explorer Package 中有延迟,不会

    自动刷新文件结构,需要手动刷新)

       

    现在的工程结构目录:

       

       

       

    hello.txt 和 bin、src 同级,都在 HelloFile 目录下:

       

       

       

       

    第二次运行一览:

    file 是文件,不是文件夹

       

       

       

       

       

    如果改为:File file=new File("bin/hello.txt");

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    //在填写相对路径时,前面不要以任何的符号开头,即 不能写为 "/bin/hello.txt"

    File file=new File("bin/hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    //文件:判断file是否是文件

    System.out.println(file.isFile());

    //路径(文件夹):判断file是否是目录

    System.out.println(file.isDirectory());

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    运行一览:

       

       

       

    运行后,hello.txt 所在目录:在 bin 目录下(删除上面创建过一次的 hello.txt)

       

    「显然,相对路径都是基于当前工程的目录下的」

       

       

       

       

       

       

    使用相对路径在当前目录的上一层创建文件: File file=new File("../hello.txt");

       

    ../ 代表上一级文件结构〕

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    //在填写相对路径时,前面不要以任何的符号开头

    // ../ 代表上一级文件结构

    File file=new File("../hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    //文件:判断file是否是文件

    System.out.println(file.isFile());

    //路径(文件夹):判断file是否是目录

    System.out.println(file.isDirectory());

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    运行一览:

    此时,hello.txt 和 HelloFile 同级,都在 workspace 目录下

       

       

       

       

    如果改为:File file=new File("../../hello.txt");

       

    上一级的上一级,即 上两级,hello.txt 和 workspace 同级,都在 E 盘根目录下

       

       

       

       

       

    2、文件的删除:(以 File file=new File("hello.txt"); 作范例)

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    File file=new File("hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    // //文件:判断file是否是文件

    // System.out.println(file.isFile());

    // //路径(文件夹):判断file是否是目录

    // System.out.println(file.isDirectory());

     

    //删除文件

    file.delete();

    System.out.println("文件删除成功");

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    运行一览:

    到资源管理器中可以看到,HelloFile 下的 hello.txt 被删除

       

       

       

       

       

       

       

    3、文件的重命名:(以 File file=new File("hello.txt"); 作范例)

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    File file=new File("hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    //声明一个文件对象,只有文件名,且是空的对象

    File filex=new File("new hello.txt");

    //重命名 调用File renameTo()方法,传入 filex

    //renameTo() 只需要引用 filex的文件名 new hello.txt 即可

    //filex 可以是空的,可以不指向任何实质性的文件,只要有文件名

    file.renameTo(filex);

    System.out.println("文件重命名成功");

     

    // //文件:判断file是否是文件

    // System.out.println(file.isFile());

    // //路径(文件夹):判断file是否是目录

    // System.out.println(file.isDirectory());

     

    // //删除文件

    // file.delete();

    // System.out.println("文件删除成功");

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    运行一览:

       

       

       

    hello.txt 被重命名成 new hello.txt:

       

       

       

       

       

       

    文件的重命名也可以是跨目录结构的(重命名的同时,文件被移动到相应目录下):

       

    〔注意:文件夹(目录)结构必须处于同一个分区,如果不是同一分区,

    移动文件需要使用文件的拷贝,而不是重命名,不是同一个函数(方法)〕

       

    package com.siwuxie095.file;

       

    import java.io.File;

    import java.io.IOException;

       

    public class HelloFile {

       

    public static void main(String[] args) {

     

    //对于一个工程而言,其相对路径即工程本身的文件夹(目录)

    File file=new File("hello.txt");

     

    //判断文件是否存在

    if (file.exists()) {

    //声明一个文件对象,只有文件名,且是空的对象

    //跨文件结构,重命名并移动文件

    File filex=new File("src/new hello.txt");

    //重命名 调用File renameTo()方法,传入 filex

    //renameTo() 只需要引用 filex的文件名 new hello.txt 即可

    //filex 可以是空的,可以不指向任何实质性的文件,只要有文件名

    file.renameTo(filex);

    System.out.println("文件重命名成功");

     

    // //文件:判断file是否是文件

    // System.out.println(file.isFile());

    // //路径(文件夹):判断file是否是目录

    // System.out.println(file.isDirectory());

     

    // //删除文件

    // file.delete();

    // System.out.println("文件删除成功");

    } else {

    System.out.println("文件不存在");

     

    //创建文件

    try {

    //调用 createNewFile() 会有异常抛出,用try catch语句包围起来

    file.createNewFile();

    System.out.println("文件已经成功创建");

    } catch (IOException e) {

    //如果创建错误,打印 "文件无法被创建"

    System.out.println("文件无法被创建");

    e.printStackTrace();

    }

    }

    }

       

    }

       

       

    运行后,hello.txt 被重命名为 new hello.txt 并被移动到 src 目录下:

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    LINQ中selectManay操作符(五)
    LINQ中select操作符(四)
    高效并发进阶-白银
    JVM回收算法
    一个类是怎么被JVM执行的
    一纸理解JVM
    单例模式
    深入理解Spring AOP思想
    深入理解Spring IOC工作原理
    HashMap扩容全过程
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6607657.html
Copyright © 2011-2022 走看看