java file类包_Java中File类的常用API
Java.io包下的File類實現了Serializable和Comparable兩個接口
1.創建文件
注意:
1).如果D盤下file文件夾不存在,則拋出異常;如果D盤下file文件夾存在,則創建成功,返回true
2).如果D盤下file文件夾下已存在file.txt文件,則返回false
public static void main(String[] args) throwsIOException {
File file= new File("D:\\file\\file.txt");
System.out.println("文件是否創建成功:"+file.createNewFile());
}
}
2.判斷文件是否存在
存在返回true;不存在返回false
System.out.println("文件是否存在:"+file.exists());
3.判斷是否是文件
是返回true;不是返回false
System.out.println("是否是文件:"+file.isFile());
4.文件重命名
成功返回true;不成功返回false;
注意:如果修改后的路徑和修改前的路徑不一致,會把修改前的文件剪切掉,然后再新路徑下創建新的文件
File file2 = new File("D:\\file\\file2.txt");
System.out.println("文件重命名是否成功:"+file.renameTo(file2));
5.創建單級目錄
創建成功返回true;創建失敗返回false
注意:
1)如果目錄已存在,返回false
2)mkdir()無法創建多級目錄
File f = new File("D:\\dir");
System.out.println("創建單級目錄是否成功:"+f.mkdir());
6.創建多級目錄
創建成功返回true;創建失敗返回false
注意:如果目錄已存在,返回false
File f = new File("D:\\dir\\dir1\\dir2");
System.out.println("創建多級目錄是否成功:"+f.mkdirs());
7.判斷是否是文件夾
是返回true;不是返回false
System.out.println("是否是文件夾:"+f.isDirectory());
8.獲取文件/文件夾的名稱
注意:如果是獲取文件夾,那么獲取到的是最后一級的目錄名
System.out.println("文件的名稱:"+file.getName());
System.out.println("文件夾的名稱:"+f.getName());
9.獲取文件/文件夾的路徑
9.1getPath()
注意:
1)返回的是定義時的路徑,這個路徑可能是相對路徑,也可能是絕對路徑,這個取決于你定義路徑時的設置
2)返回值類型是String
System.out.println("文件路徑字符串:"+file.getPath());
System.out.println("目錄路徑字符串"+f.getPath());
9.2getAbsolutePath()
注意:
1)返回的是絕對路徑,即從根路徑開始
2)返回值類型是String
System.out.println("文件路徑字符串:"+file.getAbsolutePath());
System.out.println("目錄路徑字符串"+f.getAbsolutePath());
9.3getAbsoluteFile()
注意:
1)返回的是絕對路徑,即從根路徑開始
2)返回值類型是File
System.out.println("文件絕對路徑:"+file.getAbsoluteFile());
System.out.println("目錄絕對路徑"+f.getAbsoluteFile());
10.刪除文件/文件夾
刪除成功返回true,刪除失敗返回false
注意:當刪除文件夾時,delete()方法刪除的是最后一級目錄
System.out.println("文件是否刪除成功:"+file.delete());
System.out.println("文件夾是否刪除成功:"+f.delete());
11.獲取文件/文件夾所在的目錄名稱
返回值類型為String
注意:返回的路徑與定義File類時的路徑一致
System.out.println("文件所在文件夾名稱:"+file.getParent());//文件所在文件夾名稱:D:\file
System.out.println("上級目錄名稱:"+f.getParent());//上級目錄名稱:D:\dir\dir1
12.獲取文件大小
返回值類型是long
注意:返回的文件大小表示字節(一個英文占1字節,一個漢字占3字節)
System.out.println("文件大小:"+file.length());//文件大小:7
13.獲取最后修改時間
返回值類型是long
long date =file.lastModified();
SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(simpleDateFormat.format(new Date(date)));//2020-05-13 13:35:45
14.獲取目錄下文件/文件夾
14.1 list()方法
返回值類型是字符串集合
注意:返回的是目錄下的文件或文件夾,如果文件夾下還有文件,不會返回
String[] list =f.list();for(String s : list) {
System.out.println(s);
}
14.2 listFiles()方法
返回值類型是File類型集合
注意:返回的是目錄下的文件或文件夾,如果文件夾下還有文件,不會返回
File[] files =f.listFiles();for(File fl : files) {
System.out.println("目錄下文件/文件夾名稱:"+fl.getName());
}
綜合示例(遞歸,查看目錄下所有的文件夾和文件)
public static void main(String[] args) throwsIOException {
String rootPath= "D:\\dir";
recursion(rootPath);
}public static voidrecursion(String rootPath ) {
File f1= newFile(rootPath);if (f1 != null) {if(f1.isDirectory()) {
File[] files=f1.listFiles();if (files.length > 0) {for(File file : files) {if(file.isDirectory()) {
System.out.println(rootPath+"下"+"文件夾名稱:" +file.getName());
recursion(file.getAbsolutePath());
}else{
System.out.println(rootPath+"下"+"文件名稱:"+file.getName());
}
}
}else{
System.out.println(rootPath+"目錄下沒有內容");
}
}else{
System.out.println(rootPath+ "不是目錄");
}
}else{
System.out.println("系統沒有找到路徑");
}
}
總結
以上是生活随笔為你收集整理的java file类包_Java中File类的常用API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试mysql常用语句_测试中常用到
- 下一篇: eclipse关闭java程序_如何为J