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

歡迎訪問 生活随笔!

生活随笔

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

java

在Java 7里如何对文件进行操作

發布時間:2025/7/25 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Java 7里如何对文件进行操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導讀:本文是從《Manipulating Files in Java 7》這篇文章翻譯而來。 文章內容如下:

下面的代碼片段是由經過驗證的程序修改而來。觀察這些代碼片段你會發現,跟以前的版本相比,在Java7里,文件相關的操作變得簡單的多了。通過使用新的Files類里提供的各種方法,你可以只用一行代碼就能完成下列的文件操作:

  • 創建文件
  • 刪除文件
  • 復制文件
  • 文件移動/改名

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

創建和刪除文件

下面的代碼片段向你展示的是用 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); ?
  • 可以看出,新的用于文件操作的NIO.2 API 非常便于使用。

    轉載于:https://www.cnblogs.com/yangjin-55/archive/2012/11/26/2789815.html

    總結

    以上是生活随笔為你收集整理的在Java 7里如何对文件进行操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。