自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Java 7中如何對文件進(jìn)行操作

開發(fā) 后端
這篇文件是以你對Java7里提供的新的Path類很熟悉為前提,來講解如何對文件進(jìn)行操作。

創(chuàng)建文件

刪除文件

復(fù)制文件

文件移動/改名

這篇文件是以你對Java7里提供的新的Path類很熟悉為前提,如果你不熟悉這個類,這里就簡單說一句, Path 是文件系統(tǒng)里對位置的一個邏輯概念,例如 c: 和 ../foobar.txt 都是Path。

創(chuàng)建和刪除文件

  下面的代碼片段向你展示的是用 Files.createFile(Path target) 方法創(chuàng)建文件的基本用法。

 

  1. Path target = Paths.get("D:\Backup\MyStuff.txt");  
  2. Path file = Files.createFile(target); 

  很多時候,出于安全的原因,你可能希望在創(chuàng)建的文件上設(shè)置一下屬性,例如:是否可讀/可寫/寫執(zhí)行。這些屬性依賴于文件系統(tǒng)的種類,你需要使用跟文件系統(tǒng)相應(yīng)的權(quán)限輔助類來完成這種操作。例如,PosixFilePermission和PosixFilePermissions 為 POSIX 文件系統(tǒng)設(shè)計的。下面的是在POSIX文件系統(tǒng)上的文件設(shè)置讀寫權(quán)限的用法。

 

  1. Path target = Paths.get("D:\Backup\MyStuff.txt");  
  2. Set<PosixFilePermission> perms  = PosixFilePermissions.fromString("rw-rw-rw-");  
  3. FileAttribute<Set<PosixFilePermission>> attr  = PosixFilePermissions.asFileAttribute(perms);  
  4. Files.createFile(target, attr); 

  這個 java.nio.file.attribute 包里提供了很多關(guān)于 FilePermission 的類。

  警告 當(dāng)創(chuàng)建一個帶有權(quán)限屬性的文件時,請注意包含這個文件的文件夾是否有權(quán)限的強制約束。例如,你會發(fā)現(xiàn),由于這些限制,盡管你給創(chuàng)建的文件指定了 rw-rw-rw 權(quán)限,實際創(chuàng)建的結(jié)果卻是 rw-r–r– 。

  刪除文件更簡單,使用 Files.delete(Path) 這個方法。

 

  1. Path target = Paths.get("D:\Backup\MyStuff.txt");  
  2. Files.delete(target); 

拷貝和移動文件

  下面的代碼向你展示的是使用 Files.copy(Path source, Path target) 方法做文件拷貝的基本用法。

 

  1. Path source = Paths.get("C:\My Documents\Stuff.txt");  
  2. Path target = Paths.get("D:\Backup\MyStuff.txt");  
  3. Files.copy(source, target); 

  經(jīng)常的,在拷貝文件的過程中你可能希望指定一些操作設(shè)置。在Java7里,你可以通過使用 StandardCopyOption enum 來設(shè)置這些屬性。下面看一個例子。

import static java.nio.file.StandardCopyOption.*;Path source = Paths.get("C:\My Documents\Stuff.txt");Path target = Paths.get("D:\Backup\MyStuff.txt");Files.copy(source, target, REPLACE_EXISTING);

  拷貝操作時可以使用的屬性還包括COPY_ATTRIBUTES (保留文件屬性) 和 ATOMIC_MOVE (確保移動事務(wù)操作的成功,否則進(jìn)行回滾)。

  移動文件的操作跟拷貝很相似,使用 Files.move(Path source, Path target) 方法。

  同樣,你也可以指定移動操作的屬性,使用 Files.move(Path source, Path target, CopyOptions...) 方法里的參數(shù)來設(shè)置。

 

  1. import static java.nio.file.StandardCopyOption.*;  
  2. Path source = Paths.get("C:\My Documents\Stuff.txt");  
  3. Path target = Paths.get("D:\Backup\MyStuff.txt");  
  4. Files.move(source, target, REPLACE_EXISTING, COPY_ATTRIBUTES); 

  可以看出,新的用于文件操作的 NIO.2 API 非常便于使用。

【編輯推薦】

  1. Java 8整裝待發(fā) 圖謀云計算
  2. Java 7是蜜糖還是毒藥?
  3. 選用Ibatis和Hibernate的區(qū)別
  4. JRuby和Java 7 我們可以期待什么
責(zé)任編輯:彭凡 來源: IT外刊評論
相關(guān)推薦

2023-12-13 13:47:00

Linux重組文件

2017-06-01 15:30:32

LinuxVim文件加密

2022-10-08 08:36:02

UbuntuLinux語音識別

2009-12-24 10:12:02

Linux查看文件編碼

2016-12-14 09:24:42

文件目錄壓縮

2011-08-17 15:24:09

windows7鼠標(biāo)超頻

2010-03-05 09:40:08

Python遞歸

2010-01-22 16:21:50

C++ Builder

2021-12-02 08:47:40

LinuxLinux命令

2024-11-20 10:00:00

Python文件讀寫

2017-08-01 17:34:47

Linux內(nèi)核驅(qū)動文件讀寫

2011-11-30 15:18:06

JavaJBossJ2EE

2010-02-05 16:35:35

Android操作系統(tǒng)

2010-09-08 16:50:11

JavaScriptDOM操作

2010-03-26 15:14:20

Linux系統(tǒng)環(huán)境

2019-09-24 20:07:30

Linux移動文件 命令

2023-06-06 16:10:11

2020-12-03 07:43:03

JS Ajax JavaScript

2011-03-17 11:08:49

Java SE

2011-09-07 14:43:24

點贊
收藏

51CTO技術(shù)棧公眾號