注:本文主要記錄自 《兄弟連_馬劍威_JAVA基礎_212_IO之File類》
1、File類的基本概念
- 表示文件和目錄路徑名的抽象表示形式(File既表示文件也表示文件目錄)
- File類可以實現文件的創建、刪除、重命名、得到路徑、創建時間等,是唯一與文件有關的操作類。
- public class File
- extends Object
- implements Serializable ,Compareable<File>
public static final String separator :表示路徑分隔符“\”
public static final String pathSeparator :表示路徑分隔,表示“;”
public File(String pathname) :構造File類實例,要傳入路徑
public boolean createNewFile() throws IOException 創建新文件
public boolean delete() :刪除文件
public String getParent() :得到文件的上一級路徑
public boolean isDirectory() :判斷給定的路徑是否是文件夾
/**
* File類的使用
*/
public class FileDemo {
public static void main(String[] args) {
//File.separator : On UNIX systems the value of this field is '/'; on Microsoft Windows systems it is '\\'
File file=new File("E:"+File.separator+"FileDemo"+File.separator+"filetest.txt");
System.out.println(file.getAbsolutePath());
if (file.exists()) {
System.out.println("file exists");
}else {
System.out.println("file not exists");
//創建文件
try {<span style="white-space:pre"> </span>File dir=file.getParentFile();dir.mkdirs();//創建父目錄文件夾
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//刪除文件
//file.delete();
//得到文件的上一級路徑
System.out.println("file.getParent(): "+file.getParent());
//判斷一個路徑是否是文件夾
System.out.println("是否是文件夾: "+file.isDirectory());
//判斷一個路徑是否是文件
System.out.println("是否是文件: "+file.isFile());
}
}
public boolean isFile() 判斷給定的路徑是否是文件
public String[] list() 列出文件夾中的文件,文件名String
public File[] listFiles() 列出文件夾中的所有文件
public boolean mkdir() 創建新的文件夾
public Boolean renameTo(File file) 爲文件重命名
public long length() 返回文件大小
String getPath() 路徑名字符串
mkdirs的創建 如果父文件夾不存在的話 也會順便創建父文件夾
比如 /storage/emulated/0/DCIM/Camera 這個路徑
如果你手機沒有DCIM這個文件夾 你要去創建Camera這個文件夾 就必須用第二種方式創建
/**
* Returns the pathname of the parent of this file. This is the path up to
* but not including the last name. {@code null} is returned if there is no
* parent.
* @return this file's parent pathname or {@code null}.
*/
public String getParent() {}
/**
* Returns a new file made from the pathname of the parent of this file.
* This is the path up to but not including the last name. {@code null} is
* returned when there is no parent.
*
* @return a new file representing this file's parent or {@code null}.
*/
public File getParentFile() {}
所以主要在與返回值類型的不同public class FileDemo {
public static void main(String[] args) {
File f=new File("E:/FileTest/filetest.txt");//或者 File file=new File("E:\\FileTest\\filetest.txt");
String parent =f.getParent();
System.out.println("getParent: "+parent);
File f1=f.getParentFile();
String path = f1.getAbsolutePath();
System.out.println(path);
}
}
輸出:getParent: E:\FileTest
E:\FileTest
public class FileDemo {
public static void main(String[] args) {
File f=new File("E:/FileTest/filetest.txt");//或者 File file=new File("E:\\FileTest\\filetest.txt");
if (f.exists()){
System.out.println("文件存在");
}
File f2= new File("E:/FileTest/filetest2.txt");
if (f2.exists()){
System.out.println("文件存在");
}else{
System.out.println("文件不存在");
}
}
}
輸出:文件存在
文件不存在
思考:f2.createNewFile();