File對象(檔案)的介紹
檢視是檔案還是目錄
public boolean isFile():傳回一個布爾值代表是否是檔案
public boolean isDirectory():傳回一個布爾值代表是否是目錄
//建立一個file對象
File file = new File("D:\\BigFoot_WOW_5.1.2.7.exe");
System.out.println(file); //D:\BigFoot_WOW_5.1.2.7.exe
//判斷是否是檔案
System.out.println(file.isFile()); //true
//判斷是否是目錄
System.out.println(file.isDirectory()); //false
建立一個目錄
file對象也可以代表一個不存在的目錄或檔案
public boolean mkdir():建立一個單級目錄
public boolean mkdirs():建立一個多級目錄
File file1 = new File("D:\\Study");
//建立一個目錄
file1.mkdir();
File file2 = new File("D:\\1\\2\\3");
//建立一個多級目錄
file2.mkdirs();
建立一個檔案
public boolean createNewFile() throws IOException
File file = new File("D:\\Study.txt");
boolean newFile = file.createNewFile();
System.out.println(newFile);
判斷一個目錄或者檔案是否存在
public boolean exists()
File file2 = new File("D:\\1\\2\\3");
//建立一個多級目錄
file2.mkdirs();
//判斷目錄是否存在
System.out.println(file2.exists()); //true
得到一個目錄下的子目錄和檔案
public File[] listFiles()得到一個目錄下所有的子目錄和檔案
//得到一個目錄下的所有子目錄和檔案
File file3 = new File("E:\\");
File[] files = file3.listFiles();
for (File file4 : files) {
System.out.println(file4);
}
使用FilenameFilter接口來過濾需要的檔案或檔案夾
//得到一個目錄下的所有子目錄和檔案
File file3 = new File("F:\\");
File[] files = file3.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//判斷如果是steam開頭就列印出來.
if ( name.startsWith("微信")){
return true;
}else {
return false;
}
}
});
for (File file4 : files) {
System.out.println(file4); //F:\微信圖檔.jpg
}
删除檔案
public boolean delete():立刻删除一個檔案
File file = new File("D:\\1\\2\\3");
//删除一個檔案
System.out.println(file.delete());
public void deleteOnExit():當程式運作結束删除
重命名和移動
public boolean renameTo(File dest)
File file = new File("D:\\Study.txt");
//将D盤的Study.txt移動到F盤并改名為Play
boolean b = file.renameTo(new File("F:\\Play.txt"));
System.out.println(b);
相對路徑
File file = new File("D:\\6.23實訓班共享\\代碼\\Day16-IO\\1.txt");// 絕對路徑
System.out.println(file.exists());
System.out.println(System.getProperty("user.dir")); // 目前目錄
File file2 = new File("1.txt"); // 相對路徑
System.out.println(file2.exists());
System.out.println(file2.getAbsoluteFile());
IO流
Input 輸入流: 從檔案讀取内容,檔案對我就是輸入流
Output 輸出流: 向檔案寫入内容,檔案對我就是輸出流