java的file類筆記(java的file類的常用操作)

本文目錄一覽:

java file類

你的文件夾a下面有兩個文件夾,一個是什麼看不清,一個是新建文件夾,

File[] files =file.listFiles();

for (File temp : files) {

//遞歸調用

printFile(temp, level+1);

}

files = {「不知什麼文件夾」,「新建文件夾」}

第一個文件夾循環結束當然在遞歸你的新建文件夾了

java中的file類怎麼用?

java里的文件操作控制

一.獲得控制台用戶輸入的信息

/** *//**獲得控制台用戶輸入的信息

* @return

* @throws IOException

*/

public String getInputMessage() throws IOException…{

System.out.println(“請輸入您的命令∶”);

byte buffer[]=new byte[1024];

int count=System.in.read(buffer);

char[] ch=new char[count-2];//最後兩位為結束符,刪去不要

for(int i=0;icount-2;i++)

ch[i]=(char)buffer[i];

String str=new String(ch);

return str;

}

可以返回用戶輸入的信息,不足之處在於不支持中文輸入,有待進一步改進。

二.複製文件

1.以文件流的方式複製文件

/** *//**以文件流的方式複製文件

* @param src 文件源目錄

* @param dest 文件目的目錄

* @throws IOException

*/

public void copyFile(String src,String dest) throws IOException…{

FileInputStream in=new FileInputStream(src);

File file=new File(dest);

if(!file.exists())

file.createNewFile();

FileOutputStream out=new FileOutputStream(file);

int c;

byte buffer[]=new byte[1024];

while((c=in.read(buffer))!=-1)…{

for(int i=0;ic;i++)

out.write(buffer[i]);

}

in.close();

out.close();

}

該方法經過測試,支持中文處理,並且可以複製多種類型,比如txt,xml,jpg,doc等多種格式

三.寫文件

1.利用PrintStream寫文件

/** *//**

* 文件輸出示例

*/

public void PrintStreamDemo()…{

try …{

FileOutputStream out=new FileOutputStream(“D:/test.txt”);

PrintStream p=new PrintStream(out);

for(int i=0;i10;i++)

p.println(“This is “+i+” line”);

} catch (FileNotFoundException e) …{

e.printStackTrace();

}

}

2.利用StringBuffer寫文件

public void StringBufferDemo() throws IOException……{

File file=new File(“/root/sms.log”);

if(!file.exists())

file.createNewFile();

FileOutputStream out=new FileOutputStream(file,true);

for(int i=0;i10000;i++)……{

StringBuffer sb=new StringBuffer();

sb.append(“這是第”+i+”行:前面介紹的各種方法都不關用,為什麼總是奇怪的問題 “);

out.write(sb.toString().getBytes(“utf-8”));

}

out.close();

}

該方法可以設定使用何種編碼,有效解決中文問題。

四.文件重命名

/** *//**文件重命名

* @param path 文件目錄

* @param oldname 原來的文件名

* @param newname 新文件名

*/

public void renameFile(String path,String oldname,String newname)…{

if(!oldname.equals(newname))…{//新的文件名和以前文件名不同時,才有必要進行重命名

File oldfile=new File(path+”/”+oldname);

File newfile=new File(path+”/”+newname);

if(newfile.exists())//若在該目錄下已經有一個文件和新文件名相同,則不允許重命名

System.out.println(newname+”已經存在!”);

else…{

oldfile.renameTo(newfile);

}

}

} 五.轉移文件目錄

轉移文件目錄不等同於複製文件,複製文件是複製後兩個目錄都存在該文件,而轉移文件目錄則是轉移後,只有新目錄中存在該文件。

/** *//**轉移文件目錄

* @param filename 文件名

* @param oldpath 舊目錄

* @param newpath 新目錄

* @param cover 若新目錄下存在和轉移文件具有相同文件名的文件時,是否覆蓋新目錄下文件,cover=true將會覆蓋原文件,否則不操作

*/

public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)…{

if(!oldpath.equals(newpath))…{

File oldfile=new File(oldpath+”/”+filename);

File newfile=new File(newpath+”/”+filename);

if(newfile.exists())…{//若在待轉移目錄下,已經存在待轉移文件

if(cover)//覆蓋

oldfile.renameTo(newfile);

else

System.out.println(“在新目錄下已經存在:”+filename);

}

else…{

oldfile.renameTo(newfile);

}

}

}

六.讀文件

1.利用FileInputStream讀取文件

/** *//**讀文件

* @param path

* @return

* @throws IOException

*/

public String FileInputStreamDemo(String path) throws IOException…{

File file=new File(path);

if(!file.exists()||file.isDirectory())

throw new FileNotFoundException();

FileInputStream fis=new FileInputStream(file);

byte[] buf = new byte[1024];

StringBuffer sb=new StringBuffer();

while((fis.read(buf))!=-1)…{

sb.append(new String(buf));

buf=new byte[1024];//重新生成,避免和上次讀取的數據重複

}

return sb.toString();

}

2.利用BufferedReader讀取

在IO操作,利用BufferedReader和BufferedWriter效率會更高一點

/** *//**讀文件

* @param path

* @return

* @throws IOException

*/

public String BufferedReaderDemo(String path) throws IOException…{

File file=new File(path);

if(!file.exists()||file.isDirectory())

throw new FileNotFoundException();

BufferedReader br=new BufferedReader(new FileReader(file));

String temp=null;

StringBuffer sb=new StringBuffer();

temp=br.readLine();

while(temp!=null)…{

sb.append(temp+” “);

temp=br.readLine();

}

return sb.toString();

}

3.利用dom4j讀取xml文件

/** *//**從目錄中讀取xml文件

* @param path 文件目錄

* @return

* @throws DocumentException

* @throws IOException

*/

public Document readXml(String path) throws DocumentException, IOException…{

File file=new File(path);

BufferedReader bufferedreader = new BufferedReader(new FileReader(file));

SAXReader saxreader = new SAXReader();

Document document = (Document)saxreader.read(bufferedreader);

bufferedreader.close();

return document;

}

七.創建文件(文件夾)

1.創建文件夾 /** *//**創建文件夾

* @param path 目錄

*/

public void createDir(String path)…{

File dir=new File(path);

if(!dir.exists())

dir.mkdir();

}

2.創建新文件 /** *//**創建新文件

* @param path 目錄

* @param filename 文件名

* @throws IOException

*/

public void createFile(String path,String filename) throws IOException…{

File file=new File(path+”/”+filename);

if(!file.exists())

file.createNewFile();

}

八.刪除文件(目錄)

1.刪除文件 /** *//**刪除文件

* @param path 目錄

* @param filename 文件名

*/

public void delFile(String path,String filename)…{

File file=new File(path+”/”+filename);

if(file.exists()file.isFile())

file.delete();

}

2.刪除目錄

要利用File類的delete()方法刪除目錄時,必須保證該目錄下沒有文件或者子目錄,否則刪除失敗,因此在實際應用中,我們要刪除目錄,必須利用遞歸刪除該目錄下的所有子目錄和文件,然後再刪除該目錄。 /** *//**遞歸刪除文件夾

* @param path

*/

public void delDir(String path)…{

File dir=new File(path);

if(dir.exists())…{

File[] tmp=dir.listFiles();

for(int i=0;itmp.length;i++)…{

if(tmp[i].isDirectory())…{

delDir(path+”/”+tmp[i].getName());

}

else…{

tmp[i].delete();

}

}

dir.delete();

}

}

java學習使用文件類File類?

File類用於封裝系統的文件和目錄的相關信息。在該類中定義了一些與平台無關的方法來操作文件。例如文件的大小、修改時間、文件路徑等。

創建 File 對象可以通過下面3種方式:

方法1:

方法2:

方法3:

new File(String pathName) File file = new File(「E://1.txt」) new File(String parent , String child)

parent :父抽象路徑名;child:子路徑名字元串

java 的File類

out.println(path + “\File.txt”+”已完成刪除”);

這句換成

out.println(path + “/File.txt”+”已完成刪除”);

試試

java 種的File類是用來做什麼的?有什麼用處?(追加40分)

File類是用來操作文件及目錄(文件夾)的,你可以拋開別的,只是想想,

能對文件及目錄幹什麼?無非就是創建文件或目錄,刪除、修改文件的內容等簡單操作。再就是通過遍歷文件做某些操作。File類就是干這些的。你再依據以下小程序理解下File類的操作就覺得簡單了。

File

f

=

new

File(“d://123.txt”);//你可以把它理解為告訴File類要操作的路徑,但是還沒讓它操作。

f.createNewFile()

;//創建文件,如果創建成功返回true

f.delete()

;//刪除文件,如果刪除成功返回true

。。。

java中 File類是什麼?

在java中File類是可以直接操作文件的類,

它有四個構造函數:

File(String parent,String child)

File(File parent,String child)

File(URI uri)

File(String pathname)

封裝了以下主要方法:

canWrite() 返迴文件是否可以讀寫

canRead() 返迴文件是否可讀

compareTo(File pathname)檢查文件路徑間的順序

createNewFile() 當文件不存在時生成文件

delete() 從文件系統內刪除該文件

deleteOnExit() 程序順利結束時刪除文件

equals(Object obj) 檢查特定對象的路徑名是否相等

exists() 判斷文件是否存在

getAbsoluteFile() 返迴文件完整路徑的File實例

getAbsolutePath() 返迴文件完整路徑

getName() 返迴文件名稱

getParent() 返迴文件父目錄路徑

getPath() 返迴文件路徑字元串

getParentFile() 返迴文件所在文件夾的路徑

hashCode() 返迴文件哈希碼

isDirectory() 判斷該路徑指示的是否是目錄

isFile() 判斷該路徑指示的是否是文件

lastModified() 返回該文件最後更改時間標誌

length() 返迴文件長度

list() 返迴文件和目錄清單

mkdir() 生成指定的目錄

renameTo(File dest) 更改文件名字

setReadOnly() 將文件設置為可讀

toString() 返迴文件狀態的字元串

toURL() 將文件的路徑字元串轉換成URL

推薦於 2017-11-25

查看全部5個回答

— 你看完啦,以下內容更有趣 —

在java中File是什麼意思?有什麼作用?

在java中File類是可以直接操作文件的類,

它有四個構造函數:

File(String parent,String child)

File(File parent,String child)

File(URI uri)

File(String pathname)

封裝了以下主要方法:

canWrite() 返迴文件是否可以讀寫

canRead() 返迴文件是否可讀

compareTo(File pathname)檢查文件路徑間的順序

createNewFile() 當文件不存在時生成文件

delete() 從文件系統內刪除該文件

deleteOnExit() 程序順利結束時刪除文件

equals(Object obj) 檢查特定對象的路徑名是否相等

exists() 判斷文件是否存在

getAbsoluteFile() 返迴文件完整路徑的File實例

getAbsolutePath() 返迴文件完整路徑

getName() 返迴文件名稱

getParent() 返迴文件父目錄路徑

getPath() 返迴文件路徑字元串

getParentFile() 返迴文件所在文件夾的路徑

hashCode() 返迴文件哈希碼

isDirectory() 判斷該路徑指示的是否是目錄

isFile() 判斷該路徑指示的是否是文件

lastModified() 返回該文件最後更改時間標誌

length() 返迴文件長度

list() 返迴文件和目錄清單

mkdir() 生成指定的目錄

renameTo(File dest) 更改文件名字

setReadOnly() 將文件設置為可讀

toString() 返迴文件狀態的字元串

toURL() 將文件的路徑字元串轉換成URL

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/180331.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-22 05:12
下一篇 2024-11-22 05:12

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論