建構函數
複製代碼代碼如下:
public class FileDemo {
public static void main(String[] args){
//建構子File(String pathname)
File f1 =new File("c://abc//1.txt");
//File(String parent,String child)
File f2 =new File("c://abc","2.txt");
//File(File parent,String child)
File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
File f4 =new File(f3,"3.txt");
System.out.println(f1);//c:/abc/1.txt
}
}
創建方法1.boolean createNewFile() 不存在回傳true 存在回傳false
2.boolean mkdir() 建立目錄
3.boolean mkdirs() 建立多層目錄
刪除方法
1.boolean delete()
2.boolean deleteOnExit() 檔案使用完成後刪除
複製代碼代碼如下:
import java.io.File;
import java.io.IOException;
public class FileDemo2 {
public static void main(String[] args){
File f =new File("d://1.txt");
try {
System.out.println(f.createNewFile());//當檔案存在時回傳false
System.out.println(f.delete());//當檔案不存在時回傳false
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
判斷方法1.boolean canExecute()判斷檔案是否可執行
2.boolean canRead()判斷檔案是否可讀
3.boolean canWrite() 判斷檔案是否可寫
4.boolean exists() 判斷文件是否存在
5.boolean isDirectory()
6.boolean isFile()
7.boolean isHidden()
8.boolean isAbsolute()判斷是否為絕對路徑檔不存在也能判斷
獲取方法
1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果沒有父目錄回傳null
5.long lastModified()//取得最後一次修改的時間
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//取得機器磁碟符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁碟下的檔案和資料夾
複製代碼代碼如下:
public class FileDemo3 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()>0){
String[] filenames =file.list();
for(String filename:filenames){
System.out.println(filename);
}
}
}
}
}
文件過濾
複製代碼代碼如下:
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo4 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()>0){
String[] filenames =file.list(new FilenameFilter(){
//file 過濾目錄name 檔名
public boolean accept(File file,String filename){
return filename.endsWith(".mp3");
}
});
for(String filename:filenames){
System.out.println(filename);
}
}
}
}
}
File[] listFiles() File[] listFiles(FilenameFilter filter)
利用遞歸列出全部文件
複製代碼代碼如下:
public class FileDemo5 {
public static void main(String[] args){
File f =new File("e://音");
showDir(f);
}
public static void showDir(File dir){
System.out.println(dir);
File[] files =dir.listFiles();
for(File file:files){
if(file.isDirectory())
showDir(file);
else
System.out.println(file);
}
}
}
移動檔案找出d盤下所有的.java 文件,拷貝至c:/jad 目錄下,並將所有文件的類型由.java 修改為.jad 。
複製代碼代碼如下:
public class Test5 {
public static void main(String[] args){
File f1 = new File("d://");
moveFile(f1);
}
public static void moveFile(File dir){
File[] files=dir.listFiles();
for(File file:files){
if(file.isDirectory())
moveFile(file);
else{
if(file.getName().endsWith(".java"))
file.renameTo(new File("c://jad//"+
file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
}
}
}
}