NIO 二 file與path的結合使用

2021-08-11 20:52:50 字數 1868 閱讀 3795

遍歷目錄樹:

public

static void main(string args) throws ioexception

private

static

class

findfile

extends

******filevisitor

return filevisitresult.continue;

}}

檔案建立:

path p4=paths.get("e:\\版本控制1\\服務端\\1.txt" );

path p5=p4.getroot().resolve(p4.subpath(0,p4.getnamecount()-1));

files.createdirectories(p5);

if (files.notexists(p4))

files.createfile(p4);

檔案刪除以及屬性設定(windows下):

path p4=paths.get("e:\\版本控制1\\服務端\\1.txt" );

path p5=p4.getroot().resolve(p4.subpath(0,p4.getnamecount()-1));

files.createdirectories(p5);

dosfileattributeview perms =files.getfileattributeview(p4,dosfileattributeview.class);

if (files.exists(p4))

files.createfile(p4);

perms.setreadonly(true);

system.out

.println(perms.readattributes().isreadonly());

檔案複製:

path p4=paths.get("e:\\版本控制1\\服務端\\1.txt" );

path p6=paths.get("e:\\版本控制1\\服務端\\2.txt" );

files.copy(p4,p6,standardcopyoption.copy_attributes);

如果檔案已經存在,複製會失敗

不管是否存在,都能複製成功

複製失敗會回滾,windows下不支援

移動檔案(也就是剪下)

path p4=paths.get("e:\\版本控制1\\服務端\\2.txt" );

path p6=paths.get("e:\\版本控制1\\2.txt" );

files.move(p4,p6,standardcopyoption.replace_existing);

path p4=paths.get("e:\\版本控制1\\服務端\\2.txt" );

******dateformat dateformat=new ******dateformat("yyyy-mm-dd hh:mm:ss");

system.out

.println(dateformat.format(date.from(files.getlastmodifiedtime(p4).toinstant())));

system.out

.println(files.issymboliclink(p4));

system.out

.println(files.size(p4));

system.out

.println(files.readattributes(p4,"*"));//讀取所有屬性

Path類和File類的應用

今天是我學習c 基礎的第13天,可以說馬上就要結束這個基礎課程,感覺學習的理論性的我不能說全部掌握了,我只想說在思路上面的語法以及用法我應該基本掌握了,感覺效果不錯,不得不說,要想在一種語言上面有大的突破,基礎的還是很重要的,所以從基礎學起,我認為我的選擇還是對的。而且我選擇了在雲和學院學習,感覺效...

IO與NIO的區別

一 實現方式 傳統io 1.傳統的socket io當客戶端和服務端連線成功後,服務端在進行讀取客戶端傳送的資訊的時候是通過新建執行緒來處理的,由此帶來了乙個問題,當有大量客戶端想服務端傳輸資料的時候,服務端就會啟動大量執行緒,這樣將大大的增加了伺服器的壓力。2.同時,傳統io通訊是阻塞的,即在讀取...

nio與io的比較

nio是new io的簡稱,從jdk1.4就被引入了。現在的jdk已經到了1.6了,可以說不是什麼新東西了。但其中的一些思想值得我來研究。這兩天,我研究了下其中的套接字部分,有一些心得,在此分享。首先先分析下 為什麼要nio套接字?nio的主要作用就是用來解決速度差異的。舉個例子 計算機處理的速度,...