日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

在Java 7中处理文件

發(fā)布時間:2023/12/3 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Java 7中处理文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
以下是The Well-Grounded Java Developer的草稿的修改后的片段。 它使您快速了解與以前版本相比,在Java 7中操作文件要容易得多。 通過使用新的Files類及其許多實用程序方法,您可以僅用一行代碼就可以對文件執(zhí)行以下操作:
  • 創(chuàng)建
  • 刪除
  • 復制
  • 移動/重命名

提示關(guān)于Path的快速注釋。 這篇文章假定您已經(jīng)對新的Java 7 Path類有所了解,如果沒有的話,這里是快速入門! 路徑是文件系統(tǒng)上某個位置的邏輯抽象,例如, c:\” 路徑,就像“ ../foobar.txt”一樣

讓我們從文件的創(chuàng)建和刪除開始。

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

通過使用Files類中的簡單輔助方法,您可以創(chuàng)建文件并輕松刪除它們。

提示如果要運行本節(jié)中的代碼段,請用與文件系統(tǒng)匹配的實際路徑替換實際路徑!

以下代碼段顯示了使用Files.createFile(Path target)方法的基本文件創(chuàng)建。

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

通常,您出于安全目的以及為了讀取和/或?qū)懭牒?或執(zhí)行而知道是否正在創(chuàng)建文件的情況下,希望在該文件上指定一些文件屬性。 由于這取決于文件系統(tǒng),因此您需要利用特定于文件系統(tǒng)的文件權(quán)限類及其幫助程序。

例如,用于POSIX兼容文件系統(tǒng)的PosixFilePermissionPosixFilePermissions 。 設置POSIX文件系統(tǒng)中的owner-group-all的讀寫示例如下。

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類的列表。 在The Well-Grounded Java Developer的第2章中還進一步詳細介紹了文件屬性支持。

警告創(chuàng)建具有特定權(quán)限的文件時,請注意該文件的父目錄正在執(zhí)行的所有umask限制或限制性權(quán)限。 例如,您可能會發(fā)現(xiàn),即使為新文件指定了rw-rw-rw ,由于這些限制,它實際上也被創(chuàng)建為rw-r–r–

刪除文件要簡單一些,可以通過簡單的Files.delete(Path)方法執(zhí)行。

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

接下來,快速概述在文件系統(tǒng)中復制和移動文件。

復制和移動文件

通過使用Files類中的簡單幫助程序方法,您可以輕松執(zhí)行復制和移動操作。 下面的代碼片段使用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);

通常,您想在復制操作中指定一些選項。 在Java 7中,可以使用StandardCopyOption枚舉來指定這些選項。 下一個示例使用覆蓋(即替換現(xiàn)有)選項。

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 (確保移動操作的兩面都成功或該操作被回滾)。移動操作與復制操作非常相似,并使用原子文件執(zhí)行。 move(Path source,Path target)方法。

再次,您通常希望該移動帶有一些復制選項,因此可以使用Files.move(Path source,Path target,CopyOptions ...)方法(請注意varargs的使用)。

在這種情況下,我們希望在移動源文件時保留其屬性,并覆蓋目標文件(如果存在)。

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);

如您所見,新的用于文件操作的NIO.2 API易于使用,我們希望您喜歡這個小嘗嘗!

編碼愉快! 不要忘記分享!

參考文獻:

  • 在Java 7開發(fā)者博客上從我們的JCG合作伙伴處以Java 7 操作文件
  • 經(jīng)驗豐富的Java開發(fā)人員

相關(guān)文章:

  • JDK中的設計模式
  • Java內(nèi)存模型–快速概述和注意事項
  • Java Fork / Join進行并行編程
  • 依賴注入–手動方式
  • 了解和擴展Java ClassLoader

翻譯自: https://www.javacodegeeks.com/2011/09/manipulating-files-in-java-7.html

總結(jié)

以上是生活随笔為你收集整理的在Java 7中处理文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。