文件的创建:
package file;
import java.io.File;
import java.io.IOException;
/*
create:创建
new:新
file:文件
使用File新建一个文件
/
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
//在当前项目目录下新建一个文件:test.txt
//1创建一个File表示要创建的文件
File file = new File(\"./test.txt\");
//2判断该位置下是否已经存在了这个文件或目录
/
boolean exists()
判断当前File表示的文件或目录是否真实存在,存在则返回true
/
if(file.exists()){
System.out.println(\"该文件已存在\");
}else{
//3将该文件创建出来
/
createNewFile方法的作用是将当前File表示的文件在该位置创建出来
*/
file.createNewFile();//光标在这句代码中按alt+回车
System.out.println(\"文件已创建\");
}
}
}
文件的删除:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 获取./src/file目录中所有名字以\"D\"开始的文件
*/
public class Test2 {
public static void main(String[] args) {
FileFilter filter = new FileFilter() {
//只要file表示的文件的名字是以\"D\"开始的则接受
public boolean accept(File file) {
String name = file.getName();
System.out.println(\"正在过滤:\"+name);
return name.startsWith(\"D\");
}
};
File dir = new File(\"./src/file\");
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
文件的访问:
package file;
import java.io.File;
/**
-
java.io.File
-
File可以表示硬盘上的一个文件或目录(本质保存的是一个抽象路径)
-
File可以:
-
1:访问其表示的文件或目录的属性
-
2:创建删除文件或空目录
-
3:访问一个目录中的子项
-
File不可以:
-
访问文件数据
*/
public class FileDemo {
public static void main(String[] args) {
//绝对路径的优点是清晰明了,但是缺点是路径写死了,跨平台行不好。
// File file = new File(\"c:/Users/X/IdeaProjects/JSD2206_SE/demo.txt\");
//相对路径的优点是有良好的跨平台性。
//“./”表示当前目录,在IDEA中当前目录指的是当前程序所在的项目目录
File file = new File(\"./demo.txt\");//获取file表示的文件或目录的名字 String name = file.getName(); System.out.println(name); //获取当前file表示的文件的大小(单位是字节) long len = file.length(); System.out.println(\"大小:\"+len+\"个字节\"); /* can:能 write:写 read:读 */ boolean cw = file.canWrite();//是否可写 boolean cr = file.canRead();//是否可读 System.out.println(\"是否可写:\"+cw); System.out.println(\"是否可读:\"+cr);
}
}
读取文件中所有的子项:
package file;
import java.io.File;
/**
-
获取一个目录中的所有子项
/
public class ListFilesDemo {
public static void main(String[] args) {
//获取当前目录下的所有子项
File dir = new File(\".\");
/
boolean isFile()
判断当前File对象表示的是否为一个文件boolean isDirectory() 判断当前File对象表示的是否为一个目录 */ if(dir.isDirectory()){//判断当前dir表示的是否为一个目录 /* File[] listFiles() 将当前File对象表示的目录中所有子项返回 */ File[] subs = dir.listFiles(); System.out.println(\"当前目录下共:\"+subs.length+\"个子项\"); for(int i=0;i<subs.length;i++){ File sub = subs[i]; System.out.println(sub.getName()); } }
}
}
在文件中设置过滤器找出符合过滤器要求的子项:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 重载的listFiles方法
- File[] listFiles(FileFilter filter)
- 该方法允许我们传入一个文件过滤器,然后将当前File对象表示的目录中所有满足此过滤器要求的
- 子项返回。
/
public class ListFilesDemo2 {
public static void main(String[] args) {
/
获取./src/file目录中所有名字中含有“t”的文件
/
File dir = new File(\"./src/file\");
if(dir.isDirectory()){
//使用匿名内部类创建一个文件过滤器
FileFilter filter = new FileFilter() {
/
重写accept方法(accept:接受)
此方法的重写原则是定义过滤器过滤File的条件。当参数file符合此过滤器
的过滤条件时,方法应当返回为true。表达过滤器接受该file。
*/
public boolean accept(File file) {
String name = file.getName();
// return name.indexOf(\"t\")>=0;
return name.contains(\"t\");//contains:包含
}
};
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
目录的创建:
package file;
import java.io.File;
/**
-
make:做
-
directory:目录(文件夹)
-
创建一个目录
*/
public class MkDirDemo {
public static void main(String[] args) {
//在当前目录下新建一个目录:demo
// File dir = new File(\"./demo\");
// File dir = new File(\"demo\");File dir = new File(\"./a/b/c/d/e/f\"); if(dir.exists()){ System.out.println(\"该目录已存在!\"); }else{ /* mkdir()创建当前File表示的目录,前提是该目录所在的目录必须存在。 mkdirs()创建当前File表示的目录,并会将所有不存在父目录一同创建出来。 实际开发中推荐使用mkdirs这个方法。 */
// dir.mkdir();
dir.mkdirs();
System.out.println(\"该目录已创建!\");
}
}
}
目录的删除:
package file;
import java.io.File;
/**
- 删除一个目录
/
public class DeleteDirDemo {
public static void main(String[] args) {
//删除当前目录下的demo目录
// File dir = new File(\"./demo\");
File dir = new File(\"./a\");
if(dir.exists()){
/
delete()方法在删除目录是要求该目录必须是一个空目录
*/
dir.delete();
System.out.println(\"该目录已删除!\");
}else {
System.out.println(\"该目录不存在!\");
}
}
}
来源:https://www.cnblogs.com/Bafanqwq/p/16590080.html
本站部分图文来源于网络,如有侵权请联系删除。