檔案的創建:
package file;
import java.io.File;
import java.io.IOException;
/*
create:創建
new:新
file:檔案
使用File新建一個檔案
/
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
//在當前專案目錄下新建一個檔案:test.txt
//1創建一個File表示要創建的檔案
File file = new File("./test.txt");
//2判斷該位置下是否已經存在了這個檔案或目錄
/
boolean exists()
判斷當前File表示的檔案或目錄是否真實存在,存在則回傳true
/
if(file.exists()){
System.out.println("該檔案已存在");
}else{
//3將該檔案創建出來
/
createNewFile方法的作用是將當前File表示的檔案在該位置創建出來
*/
file.createNewFile();//游標在這句代碼中按alt+回車
System.out.println("檔案已創建");
}
}
}
檔案的洗掉:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 獲取./src/file目錄中所有名字以"D"開始的檔案
*/
public class Test2 {
public static void main(String[] args) {
FileFilter filter = new FileFilter() {
//只要file表示的檔案的名字是以"D"開始的則接受
public boolean accept(File file) {
String name = file.getName();
System.out.println("正在過濾:"+name);
return name.startsWith("D");
}
};
File dir = new File("./src/file");
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
檔案的訪問:
package file;
import java.io.File;
/**
-
java.io.File
-
File可以表示硬碟上的一個檔案或目錄(本質保存的是一個抽象路徑)
-
File可以:
-
1:訪問其表示的檔案或目錄的屬性
-
2:創建洗掉檔案或空目錄
-
3:訪問一個目錄中的子項
-
File不可以:
-
訪問檔案資料
*/
public class FileDemo {
public static void main(String[] args) {
//絕對路徑的優點是清晰明了,但是缺點是路徑寫死了,跨平臺行不好,
// File file = new File("c:/Users/X/IdeaProjects/JSD2206_SE/demo.txt");
//相對路徑的優點是有良好的跨平臺性,
//“./”表示當前目錄,在IDEA中當前目錄指的是當前程式所在的專案目錄
File file = new File("./demo.txt");//獲取file表示的檔案或目錄的名字 String name = file.getName(); System.out.println(name); //獲取當前file表示的檔案的大小(單位是位元組) long len = file.length(); System.out.println("大小:"+len+"個位元組"); /* can:能 write:寫 read:讀 */ boolean cw = file.canWrite();//是否可寫 boolean cr = file.canRead();//是否可讀 System.out.println("是否可寫:"+cw); System.out.println("是否可讀:"+cr);}
}
讀取檔案中所有的子項:
package file;
import java.io.File;
/**
-
獲取一個目錄中的所有子項
/
public class ListFilesDemo {
public static void main(String[] args) {
//獲取當前目錄下的所有子項
File dir = new File(".");
/
boolean isFile()
判斷當前File物件表示的是否為一個檔案boolean isDirectory() 判斷當前File物件表示的是否為一個目錄 */ if(dir.isDirectory()){//判斷當前dir表示的是否為一個目錄 /* File[] listFiles() 將當前File物件表示的目錄中所有子項回傳 */ File[] subs = dir.listFiles(); System.out.println("當前目錄下共:"+subs.length+"個子項"); for(int i=0;i<subs.length;i++){ File sub = subs[i]; System.out.println(sub.getName()); } }}
}
在檔案中設定過濾器找出符合過濾器要求的子項:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 多載的listFiles方法
- File[] listFiles(FileFilter filter)
- 該方法允許我們傳入一個檔案過濾器,然后將當前File物件表示的目錄中所有滿足此過濾器要求的
- 子項回傳,
/
public class ListFilesDemo2 {
public static void main(String[] args) {
/
獲取./src/file目錄中所有名字中含有“t”的檔案
/
File dir = new File("./src/file");
if(dir.isDirectory()){
//使用匿名內部類創建一個檔案過濾器
FileFilter filter = new FileFilter() {
/
重寫accept方法(accept:接受)
此方法的重寫原則是定義過濾器過濾File的條件,當引數file符合此過濾器
的過濾條件時,方法應當回傳為true,表達過濾器接受該file,
*/
public boolean accept(File file) {
String name = file.getName();
// return name.indexOf("t")>=0;
return name.contains("t");//contains:包含
}
};
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
目錄的創建:
package file;
import java.io.File;
/**
-
make:做
-
directory:目錄(檔案夾)
-
創建一個目錄
*/
public class MkDirDemo {
public static void main(String[] args) {
//在當前目錄下新建一個目錄:demo
// File dir = new File("./demo");
// File dir = new File("demo");File dir = new File("./a/b/c/d/e/f"); if(dir.exists()){ System.out.println("該目錄已存在!"); }else{ /* mkdir()創建當前File表示的目錄,前提是該目錄所在的目錄必須存在, mkdirs()創建當前File表示的目錄,并會將所有不存在父目錄一同創建出來, 實際開發中推薦使用mkdirs這個方法, */
// dir.mkdir();
dir.mkdirs();
System.out.println("該目錄已創建!");
}
}
}
目錄的洗掉:
package file;
import java.io.File;
/**
- 洗掉一個目錄
/
public class DeleteDirDemo {
public static void main(String[] args) {
//洗掉當前目錄下的demo目錄
// File dir = new File("./demo");
File dir = new File("./a");
if(dir.exists()){
/
delete()方法在洗掉目錄是要求該目錄必須是一個空目錄
*/
dir.delete();
System.out.println("該目錄已洗掉!");
}else {
System.out.println("該目錄不存在!");
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/501903.html
標籤:其他
