您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java 7中怎么對文件進行操作,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創建和刪除文件
下面的代碼片段向你展示的是用 Files.createFile(Path target) 方法創建文件的基本用法。
Path target = Paths.get("D:\Backup\MyStuff.txt"); Path file = Files.createFile(target);
很多時候,出于安全的原因,你可能希望在創建的文件上設置一下屬性,例如:是否可讀/可寫/寫執行。這些屬性依賴于文件系統的種類,你需要使用跟文件系統相應的權限輔助類來完成這種操作。例如,PosixFilePermission和PosixFilePermissions 為 POSIX 文件系統設計的。下面的是在POSIX文件系統上的文件設置讀寫權限的用法。
Path target = Paths.get("D:\Backup\MyStuff.txt"); Set<PosixFilePermission> perms= PosixFilePermissions.fromString("rw-rw-rw-"); FileAttribute<Set<PosixFilePermission>> attr= PosixFilePermissions.asFileAttribute(perms); Files.createFile(target, attr);
這個 java.nio.file.attribute 包里提供了很多關于 FilePermission 的類。
警告 當創建一個帶有權限屬性的文件時,請注意包含這個文件的文件夾是否有權限的強制約束。例如,你會發現,由于這些限制,盡管你給創建的文件指定了 rw-rw-rw 權限,實際創建的結果卻是 rw-r–r– 。
刪除文件更簡單,使用 Files.delete(Path) 這個方法。
Path target = Paths.get("D:\Backup\MyStuff.txt"); Files.delete(target);
拷貝和移動文件
下面的代碼向你展示的是使用 Files.copy(Path source, Path target) 方法做文件拷貝的基本用法。
Path source = Paths.get("C:\My Documents\Stuff.txt"); Path target = Paths.get("D:\Backup\MyStuff.txt"); Files.copy(source, target);
經常的,在拷貝文件的過程中你可能希望指定一些操作設置。在Java7里,你可以通過使用 StandardCopyOption enum 來設置這些屬性。下面看一個例子。
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 (確保移動事務操作的成功,否則進行回滾)。
移動文件的操作跟拷貝很相似,使用 Files.move(Path source, Path target) 方法。
同樣,你也可以指定移動操作的屬性,使用 Files.move(Path source, Path target, CopyOptions...) 方法里的參數來設置。
import static java.nio.file.StandardCopyOption.*; Path source = Paths.get("C:\My Documents\Stuff.txt"); Path target = Paths.get("D:\Backup\MyStuff.txt"); Files.move(source, target, REPLACE_EXISTING, COPY_ATTRIBUTES);
關于Java 7中怎么對文件進行操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。