File類的增刪改查介紹 java
- package com.io.file;
-
- import java.io.File;
- import java.io.IOException;
-
- public class File_1 {
- public static void main(String[] args) throws IOException, InterruptedException {
- //mehtod_file();//File類的幾種建立方式
- //file_create();//建立文件
- //file_delete();//刪除文件
- //file_judge();//判斷文件
- //file_get();//獲取File封裝對象內容
- file_renameTo();
- }
- /*
- * 修改文件名稱
- * 剪切文件,並粘貼文件
- */
- public static void file_renameTo(){
- //實現文件剪切功能
- // File f=new File("g:/java/aa.txt");
- // File ff=new File("d:/bbb.txt");//注意:這裏不能帶文件夾;f封裝的路徑中的文件會被刪除,ff封裝的路徑中的文件會被建立
- // System.out.println(f.renameTo(ff));
- //文件更名
- File f1=new File("g:/java/aa.txt");
- File f2=new File("g:/java/bb.txt");//注意:這裏不能帶文件夾;f封裝的路徑中的文件會被刪除,ff封裝的路徑中的文件會被建立
- System.out.println(f1.renameTo(f2));
- }
-
- /*
- * 獲取文件信息
- */
- public static void file_get(){
- File f=new File("g:/java/yes.txt");
- System.out.println("getPath():"+f.getPath());//無論該文件是否存在,就是獲取File對象封裝的路徑內容
- System.out.println("getAbsolute()"+f.getAbsolutePath());//無論該文件是否存在,獲取File對象封裝的絕對路徑
- System.out.println("getName():"+f.getName());//獲取File對象封裝的文件名稱,包括後綴名
- System.out.println("getParent():"+f.getParent());//獲取File對象封裝的文件夾路徑名,注意,該方法獲取的文件夾路徑是File對象封裝的絕對路徑才能獲取的,若是File對象封裝的是相對路徑的話,則返回null;
- //若是File對象封裝的路徑有上一層目錄,則返回的目錄就是該目錄如:File f=new file("a\\b.txt");則返回a目錄
- System.out.println("lastModified():"+f.lastModified());//獲取File對象封裝的文件最後一次修改的時間
- System.out.println("length():"+f.length());//獲取File對象封裝的文件的大小,即多少個字節
- }
- /*
- * 判斷文件
- *
- */
- public static void file_judge(){
- File f=new File("g:/java/yes.txt");
- System.out.println(f.canExecute());//判斷文件是否可執行
- System.out.println(f.exists());//判斷文件是否存在
- System.out.println("-----------------------------------------");
- File ff=new File("g:/java/a/b/c/d/e/f");
- // System.out.println(ff.mkdir());//建立文件夾
- System.out.println(ff.mkdirs());//建立多級文件夾
- System.out.println("------------------------------------------");
- File fff=new File("zzzz.txt");
- //注意在判斷是不是文件和目錄時,必定要先判斷該文件對象封裝的內容是否存在
- //用exists();判斷
- System.out.println(fff.isDirectory());//判斷是不是目錄
- System.out.println(fff.isFile());//判斷是不是文件
- System.out.println(fff.isHidden());//判斷文件是否隱藏
- System.out.println(fff.isAbsolute());//判斷文件路徑是不是絕對路徑,及時文件不存在也能夠判斷
- }
- /*
- *刪除文件
- * boolean delete();刪除失敗是返回false
- * void deleteOnExit();當虛擬機退出時刪除文件
- */
- public static void file_delete() throws IOException, InterruptedException{
- File f=new File("g:/java/yesaaa.txt");
- boolean boo=f.createNewFile();
- System.out.println("create:"+boo);
- Thread.sleep(5000);//能夠看到效果
- //boolean boo1=f.delete();
- f.deleteOnExit();//通常刪除臨時文件時用這個,當虛擬機關閉時,刪除文件
- //System.out.println("delete:"+boo1);
- }
- /*
- * 建立文件createNewFile(),建立指定目錄的文件,若是已存在,則返回false
- * 注意:這和輸出流不同,輸出流對象建立文件,若是文件已存在,則會覆蓋,重新建立
- */
- public static void file_create() throws IOException{
- File f=new File("g:/java/yesaaa.txt");
- boolean boo=f.createNewFile();
- System.out.println(boo);
- }
- //幾種建立File類的方式
- public static void mehtod_file(){
- File f1=new File("aa.txt");//用相對路徑
- File f2=new File("c:\\aa\\bb\\c.txt");//用絕對路徑
- File f3=new File("c:\\aa\\bb","c.txt");//文件夾路徑和文件路徑分開,便於操做
- File f4=new File("c:/aa/bb/c.txt");//注意用這個斜槓"/"一個就好了,和"\\"兩個這樣的效果是同樣的,但這樣寫不利於跨平臺
- File f5=new File("c:"+File.separator+"aa"+File.separator+"bb"+File.separator+"c.txt");//用File類中封裝的separator()方法,能夠實現跨平臺
- System.out.println(f1);
- System.out.println(f2);
- System.out.println(f3);
- System.out.println(f4);
- System.out.println(f5);
- }
- }
package com.io.file;
import java.io.File;
import java.io.IOException;
public class File_1 {
public static void main(String[] args) throws IOException, InterruptedException {
//mehtod_file();//File類的幾種建立方式
//file_create();//建立文件
//file_delete();//刪除文件
//file_judge();//判斷文件
//file_get();//獲取File封裝對象內容
file_renameTo();
}
/*
* 修改文件名稱
* 剪切文件,並粘貼文件
*/
public static void file_renameTo(){
//實現文件剪切功能
// File f=new File("g:/java/aa.txt");
// File ff=new File("d:/bbb.txt");//注意:這裏不能帶文件夾;f封裝的路徑中的文件會被刪除,ff封裝的路徑中的文件會被建立
// System.out.println(f.renameTo(ff));
//文件更名
File f1=new File("g:/java/aa.txt");
File f2=new File("g:/java/bb.txt");//注意:這裏不能帶文件夾;f封裝的路徑中的文件會被刪除,ff封裝的路徑中的文件會被建立
System.out.println(f1.renameTo(f2));
}
/*
* 獲取文件信息
*/
public static void file_get(){
File f=new File("g:/java/yes.txt");
System.out.println("getPath():"+f.getPath());//無論該文件是否存在,就是獲取File對象封裝的路徑內容
System.out.println("getAbsolute()"+f.getAbsolutePath());//無論該文件是否存在,獲取File對象封裝的絕對路徑
System.out.println("getName():"+f.getName());//獲取File對象封裝的文件名稱,包括後綴名
System.out.println("getParent():"+f.getParent());//獲取File對象封裝的文件夾路徑名,注意,該方法獲取的文件夾路徑是File對象封裝的絕對路徑才能獲取的,若是File對象封裝的是相對路徑的話,則返回null;
//若是File對象封裝的路徑有上一層目錄,則返回的目錄就是該目錄如:File f=new file("a\\b.txt");則返回a目錄
System.out.println("lastModified():"+f.lastModified());//獲取File對象封裝的文件最後一次修改的時間
System.out.println("length():"+f.length());//獲取File對象封裝的文件的大小,即多少個字節
}
/*
* 判斷文件
*
*/
public static void file_judge(){
File f=new File("g:/java/yes.txt");
System.out.println(f.canExecute());//判斷文件是否可執行
System.out.println(f.exists());//判斷文件是否存在
System.out.println("-----------------------------------------");
File ff=new File("g:/java/a/b/c/d/e/f");
// System.out.println(ff.mkdir());//建立文件夾
System.out.println(ff.mkdirs());//建立多級文件夾
System.out.println("------------------------------------------");
File fff=new File("zzzz.txt");
//注意在判斷是不是文件和目錄時,必定要先判斷該文件對象封裝的內容是否存在
//用exists();判斷
System.out.println(fff.isDirectory());//判斷是不是目錄
System.out.println(fff.isFile());//判斷是不是文件
System.out.println(fff.isHidden());//判斷文件是否隱藏
System.out.println(fff.isAbsolute());//判斷文件路徑是不是絕對路徑,及時文件不存在也能夠判斷
}
/*
*刪除文件
* boolean delete();刪除失敗是返回false
* void deleteOnExit();當虛擬機退出時刪除文件
*/
public static void file_delete() throws IOException, InterruptedException{
File f=new File("g:/java/yesaaa.txt");
boolean boo=f.createNewFile();
System.out.println("create:"+boo);
Thread.sleep(5000);//能夠看到效果
//boolean boo1=f.delete();
f.deleteOnExit();//通常刪除臨時文件時用這個,當虛擬機關閉時,刪除文件
//System.out.println("delete:"+boo1);
}
/*
* 建立文件createNewFile(),建立指定目錄的文件,若是已存在,則返回false
* 注意:這和輸出流不同,輸出流對象建立文件,若是文件已存在,則會覆蓋,重新建立
*/
public static void file_create() throws IOException{
File f=new File("g:/java/yesaaa.txt");
boolean boo=f.createNewFile();
System.out.println(boo);
}
//幾種建立File類的方式
public static void mehtod_file(){
File f1=new File("aa.txt");//用相對路徑
File f2=new File("c:\\aa\\bb\\c.txt");//用絕對路徑
File f3=new File("c:\\aa\\bb","c.txt");//文件夾路徑和文件路徑分開,便於操做
File f4=new File("c:/aa/bb/c.txt");//注意用這個斜槓"/"一個就好了,和"\\"兩個這樣的效果是同樣的,但這樣寫不利於跨平臺
File f5=new File("c:"+File.separator+"aa"+File.separator+"bb"+File.separator+"c.txt");//用File類中封裝的separator()方法,能夠實現跨平臺
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
System.out.println(f4);
System.out.println(f5);
}
}
【有獎提問】CSDN論壇第1期專家問答開始
來極客頭條,贏下載積分
下載頻道3月領任務~賺下載分!
-
- import java.io.File;
- import java.io.FilenameFilter;
-
- public class File_listRoots {
- public static void main(String[] args) {
- //listRoots();//列出全部有效盤符
- //list();//列出根文件下全部文件,文件夾,及隱藏文件
- // listFilter();//文件名過濾
- // listFiles();//獲取當前目錄下File對象
- File f=new File("g:/");
- // digui(f);//遞歸調用,實現查詢目錄下全部的文件及文件夾,及文件夾中的文件
- System.out.println(digui1(8000));//遞歸調用
- }
- /*
- * 遞歸調用注意兩點:
- * 1:限定條件
- * 2:要注意遞歸次數,儘可能避免內存溢出
- */
- public static int digui1(int a){
- if(a<=1){
- return 1;
- }else{
- return a+digui1(a-1);
- }
- }
- /*
- * 列出指定目錄下文件或文件夾,包含子目錄中的內容,遍歷目錄下全部的文件。
- * 由於目錄中還有目錄,只要使用同一個列出目錄功能的函數完成便可
- * 在列出過程當中,出現的仍是目錄的話,還能夠再次調用本功能。也就是函數自身調用自身。
- * 這種表現形式或者變成手法成爲遞歸
- */
- public static void digui(File f){
- System.out.println(f.getAbsolutePath());
- File[]ff=f.listFiles();
- for (int i = 0; i < ff.length; i++) {
- if(ff[i].isDirectory()){
- digui(ff[i]);//遞歸調用
- }else{
- System.out.println(ff[i]);
- }
- }
- }
- /*
- * listFiles();獲取File對象
- */
- public static void listFiles(){
- File f=new File("g:/java");
- File[]ff=f.listFiles();
- for(File fff:ff){
- System.out.println(fff.getName()+"---------length:"+fff.length());
- }
- }
- /*
- * list(FileNameFilter filter),文件名過濾
- */
- public static void listFilter(){
- File f=new File("g:/java");
- String[]str=f.list(new FilenameFilter(){
- public boolean accept(File f,String name){
-
- return name.endsWith(".txt");//返回文件及文件夾名稱以「.txt」爲結尾的文件及文件夾
- // System.out.println(f+"---------name:"+name);//f表明文件目錄,name表明文件夾名稱及文件名稱
- // return false;//返回false表示不返回
- // return true;//返回true表示返回
- }
- });
- for(String string:str){
- System.out.println(string);
- }
- }
- /*
- * //列出根文件下全部文件,文件夾,及隱藏文件
- */
- public static void list(){
- File f=new File("g:/java");//調用list()方法,該File對象必須封裝一個目錄,不能是文件,而且該目錄確實存在才行
- String[] str=f.list();
- for (String string : str) {
- System.out.println(string);
- }
- }
- /*
- * File.listRoots():獲取可用的文件系統根,簡單來講就是獲取系統的盤符
- */
- public static void listRoots(){
- File[] f=File.listRoots();
- for (File file : f) {
- System.out.println(file);
- }
- System.out.println(f[0]);
-
- }
- }
package com.io.file;
import java.io.File;
import java.io.FilenameFilter;
public class File_listRoots {
public static void main(String[] args) {
//listRoots();//列出全部有效盤符
//list();//列出根文件下全部文件,文件夾,及隱藏文件
// listFilter();//文件名過濾
// listFiles();//獲取當前目錄下File對象
File f=new File("g:/");
// digui(f);//遞歸調用,實現查詢目錄下全部的文件及文件夾,及文件夾中的文件
System.out.println(digui1(8000));//遞歸調用
}
/*
* 遞歸調用注意兩點:
* 1:限定條件
* 2:要注意遞歸次數,儘可能避免內存溢出
*/
public static int digui1(int a){
if(a<=1){
return 1;
}else{
return a+digui1(a-1);
}
}
/*
* 列出指定目錄下文件或文件夾,包含子目錄中的內容,遍歷目錄下全部的文件。
* 由於目錄中還有目錄,只要使用同一個列出目錄功能的函數完成便可
* 在列出過程當中,出現的仍是目錄的話,還能夠再次調用本功能。也就是函數自身調用自身。
* 這種表現形式或者變成手法成爲遞歸
*/
public static void digui(File f){
System.out.println(f.getAbsolutePath());
File[]ff=f.listFiles();
for (int i = 0; i < ff.length; i++) {
if(ff[i].isDirectory()){
digui(ff[i]);//遞歸調用
}else{
System.out.println(ff[i]);
}
}
}
/*
* listFiles();獲取File對象
*/
public static void listFiles(){
File f=new File("g:/java");
File[]ff=f.listFiles();
for(File fff:ff){
System.out.println(fff.getName()+"---------length:"+fff.length());
}
}
/*
* list(FileNameFilter filter),文件名過濾
*/
public static void listFilter(){
File f=new File("g:/java");
String[]str=f.list(new FilenameFilter(){
public boolean accept(File f,String name){
return name.endsWith(".txt");//返回文件及文件夾名稱以「.txt」爲結尾的文件及文件夾
// System.out.println(f+"---------name:"+name);//f表明文件目錄,name表明文件夾名稱及文件名稱
// return false;//返回false表示不返回
// return true;//返回true表示返回
}
});
for(String string:str){
System.out.println(string);
}
}
/*
* //列出根文件下全部文件,文件夾,及隱藏文件
*/
public static void list(){
File f=new File("g:/java");//調用list()方法,該File對象必須封裝一個目錄,不能是文件,而且該目錄確實存在才行
String[] str=f.list();
for (String string : str) {
System.out.println(string);
}
}
/*
* File.listRoots():獲取可用的文件系統根,簡單來講就是獲取系統的盤符
*/
public static void listRoots(){
File[] f=File.listRoots();
for (File file : f) {
System.out.println(file);
}
System.out.println(f[0]);
}
}