java中文件处理之图片_在Java 7中处理文件
java中文件處理之圖片
以下是The Well-Grounded Java Developer的草稿的修改后的片段。 它使您快速了解與以前版本相比,在Java 7中操作文件要容易得多。 通過使用新的Files類及其許多實(shí)用程序方法,您可以僅用一行代碼就可以對(duì)文件執(zhí)行以下操作:- 創(chuàng)造
- 刪除
- 復(fù)制
- 移動(dòng)/重命名
提示關(guān)于Path的快速注釋。 這篇文章假定您已經(jīng)對(duì)新的Java 7 Path類有所了解,如果不熟悉的話,這里有個(gè)快速介紹! 路徑是文件系統(tǒng)上位置的邏輯抽象,例如, “ c:\” 是 路徑 ,“ ../ foobar.txt”一樣
讓我們從文件的創(chuàng)建和刪除開始。
創(chuàng)建和刪除文件
通過使用Files類中的簡(jiǎn)單幫助程序方法,您還可以創(chuàng)建文件并輕松刪除它們。
提示如果要運(yùn)行本節(jié)中的代碼段,請(qǐng)用與文件系統(tǒng)匹配的實(shí)際路徑替換實(shí)際路徑!
以下代碼段顯示了使用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)的PosixFilePermission和PosixFilePermissions 。 設(shè)置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章中還進(jìn)一步詳細(xì)介紹了文件屬性支持。
警告創(chuàng)建具有特定權(quán)限的文件時(shí),請(qǐng)注意該文件的父目錄正在執(zhí)行的所有umask限制或限制性權(quán)限。 例如,您可能會(huì)發(fā)現(xiàn),即使為新文件指定了rw-rw-rw ,由于這些限制,它實(shí)際上也被創(chuàng)建為rw-r–r– 。
刪除文件要簡(jiǎn)單一些,可以通過簡(jiǎn)單的Files.delete(Path)方法執(zhí)行。
Path target = Paths.get("D:\\Backup\\MyStuff.txt"); Files.delete(target);接下來快速概述在文件系統(tǒng)中復(fù)制和移動(dòng)文件。
復(fù)制和移動(dòng)文件
通過使用Files類中的簡(jiǎn)單輔助方法,您可以輕松執(zhí)行復(fù)制和移動(dòng)操作。 下面的代碼片段使用Files.copy(Path source,Path target)方法展示了一個(gè)基本副本。
Path source = Paths.get("C:\\My Documents\\Stuff.txt"); Path target = Paths.get("D:\\Backup\\MyStuff.txt"); Files.copy(source, target);通常,您想在復(fù)制操作中指定一些選項(xiàng)。 在Java 7中,可以使用StandardCopyOption枚舉來指定這些選項(xiàng)。 下一個(gè)示例使用覆蓋(即替換現(xiàn)有)選項(xiàng)。
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);其他復(fù)制選項(xiàng)包括COPY_ATTRIBUTES (復(fù)制文件屬性)和ATOMIC_MOVE (確保移動(dòng)操作的兩面都成功或該操作被回滾)。移動(dòng)操作與復(fù)制操作非常相似,并使用原子文件執(zhí)行。 move(Path source,Path target)方法。
再次,您通常希望此移動(dòng)帶有一些復(fù)制選項(xiàng),因此可以使用Files.move(Path source,Path target,CopyOptions ...)方法(請(qǐng)注意varargs的使用)。
在這種情況下,我們希望在移動(dòng)源文件時(shí)保留其屬性,并覆蓋目標(biāo)文件(如果存在)。
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易于使用,我們希望您喜歡這個(gè)小嘗嘗!
編碼愉快! 不要忘記分享!
參考文獻(xiàn):
- 在Java 7開發(fā)者博客上從我們的JCG合作伙伴處以Java 7 操作文件
- 經(jīng)驗(yàn)豐富的Java開發(fā)人員
相關(guān)文章:
- JDK中的設(shè)計(jì)模式
- Java內(nèi)存模型-快速概述和注意事項(xiàng)
- Java Fork / Join進(jìn)行并行編程
- 依賴注入–手動(dòng)方式
- 了解和擴(kuò)展Java ClassLoader
翻譯自: https://www.javacodegeeks.com/2011/09/manipulating-files-in-java-7.html
java中文件處理之圖片
總結(jié)
以上是生活随笔為你收集整理的java中文件处理之图片_在Java 7中处理文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理中断
- 下一篇: 在Java 8中使用Rhino