【java】文件操作java.io.File

时间:2023-03-08 17:29:00
 package 文件操作;

 import java.io.File;
import java.io.IOException; public class TestFile {
public static void main(String[] args) throws IOException {
// File file=new File("D:\test.txt");//"\t"是制表符,会报错。
File file=new File("D:\\test.txt");
File file2=new File("d:"+File.separator+"demo.txt");
file2.createNewFile();
file.createNewFile();//创建文件
if(file.exists())//判断文件是否存在
file.delete();//删除文件
}
}

文件对象的创建,文件的创建、存在性判断、删除

 package 文件操作;

 import java.io.File;
import java.io.IOException; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator+"com"+File.separator+"test.txt");
if(!file.getParentFile().exists())//取得文件所在目录
file.getParentFile().mkdir();//创建单级目录
file.createNewFile(); File file2=new File("D:"+File.separator+"cn"+File.separator+"hello"+File.separator+"test.txt");
if(!file2.getParentFile().exists())
file2.getParentFile().mkdirs();//创建多级目录
file2.createNewFile();
}
}

取得文件目录,创建单、多级目录

 package 文件操作;

 import java.io.File;
import java.io.IOException;
import java.math.BigDecimal; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator+"content10.pdf");
if(file.exists()){
System.out.println(file.length());
System.out.println(new BigDecimal((double)file.length()/1024/1024).divide(new BigDecimal(1), 2, BigDecimal.ROUND_HALF_UP));
}
}
}

获取文件大小

 package 文件操作;

 import java.io.File;
import java.io.IOException; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator+"content10.pdf");
File file2=new File("D:"+File.separator+"mail");
System.out.println(file.isFile());//判断是否是文件
System.out.println(file.isDirectory());//判断是否是目录
System.out.println(file2.isFile());
System.out.println(file2.isDirectory());
}
}

文件、目录判断

 package 文件操作;

 import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator+"content10.pdf"); //file.lastModified()获取最近一次修改文件的日期时间
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file.lastModified()));
}
}

file.lastModified()

 package 文件操作;

 import java.io.File;
import java.io.IOException; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator);
String[] str=file.list();//取得文件目录名String数组
for(String s:str)
System.out.println(s);
File[] files=file.listFiles();//取得文件目录全名File数组
for(File f:files)
System.out.println(f);
}
}

取得指定目录下的所有文件或目录数组

 package 文件操作;

 import java.io.File;
import java.io.IOException; public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("D:"+File.separator);
print(file);
}
public static void print(File file){
if(file.isDirectory()){
File[] files=file.listFiles();
if(files!=null)
for(File f:files){
print(f);
}
}
// System.out.println(file.getName());//输出文件名
System.out.println(file);//输出文件完整路径和名称
// file.delete();//删除文件及目录。危险操作!!!
}
}

递归列出目录内容