Java中的文件类
- Java.io包中定义数据输入、输出功能有关的类,包括提供文件操作功能的File类
- 在Java中,将目录(directory,文件夹)也当作文件处理
- 目录管理功能方法
File path=new File("E:\\good\\");File f=new File(path,"File2.txt");
- 创建File对象
String fileName = "E:\\good\\File.txt"; File file = new File(fileName);
创建文件代码示例
package FileLearn;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
void testCreateFile4() throws IOException {
String fileName = "E:\\good\\File.txt";
File file = new File(fileName);
File path=new File("E:\\good\\");
File f=new File(path,"File2.txt");
// 返回true表示文件成功
// false 表示文件已经存在
if (file.createNewFile()) {
System.out.println("创建文件成功!");
} else {
System.out.println("文件已经存在不需要重复创建");
}
if (f.createNewFile()){
System.out.println("目录管理文件功能成功创建文件");
}else {System.out.println("文件已经存在");}
// 使用FileWriter写文件,即将信息写入到文件中
try (FileWriter writer = new FileWriter(file)) {
writer.write("Hello World -创建文件!!");
}
}
public static void main(String []args){
try {
new Test().testCreateFile4();
} catch (IOException e) {
e.printStackTrace();
}
}
}
文件类的方法
方法名 | 作用 |
---|
String getName() | 得到文件名称 |
String getPath() | 得到路径 |
boolean rename To(File newname) | 更改名字 |
boolean exists() | 是否存在 |
boolean canWrite()/canRead | 是否可读/可写 |
boolean isFile/isDirectory() | 是否是文件/目录 |
long lastModified | 获取修改的时间 |
long length | 获取长度 |
boolean mkdir() | 创建目录 |
String[] list() | 列出目录 |
文件方法使用示例
package FileLearn;
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class Test1 {
public static void main(String[] args){
File file=new File("E:\\good\\haha.text");
try{
file.createNewFile();
}catch (IOException ex){ex.printStackTrace();}
//得到文件名称以及相应路径
System.out.println(file.getName());
System.out.println(file.getPath());
//更改文件名称并且判断
File f=new File("E:\\good\\heihei.text");
if (file.renameTo(f)){
System.out.println("文件更改名称成功");
}
else {System.out.println("文件更改名称失败");}
System.out.println("是否可读"+f.canRead());
System.out.println("是否为文件"+f.isFile());
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println("修改时间"+df.format(new Date(f.lastModified())));
}
}
package FileLearn;
import java.io.File;
public class Test {
public static void ListFiles(File dir){
if (!dir.exists()||dir.isFile()){return;}
String[] files=dir.list();
for (int i=0;i<files.length;i++){
File file=new File(dir,files[i]);
if (file.isFile()){
System.out.println(dir+"\\"+file.getName()+"\t"+file.length());
}else {
System.out.println(dir+"\\"+file.getName()+"\t<dir>");
//递归调用,直到结束
ListFiles(file);
}
}
}
public static void main(String[] args){
//Test test=new Test();
ListFiles(new File("G:\\笔记\\Java学习"));
}
}