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