Fork me on GitHub

文件的创建、删除、重命名

-------------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】

posted on 2017-03-23 22:08  siwuxie095  阅读(517)  评论(0编辑  收藏  举报

导航