- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
属性读取与设定
過濾、搜尋檔案 過濾、搜尋檔案 如果Glob語法無法滿足條件過濾需求時,可以自行實作DirectoryStream.Filter的accept()方法自訂過濾條件 過濾、搜尋檔案 可以使用FileSystem實例的getPathMatcher()取得PathMatcher介面實作物件 可以指定使用哪種模式比對語法,regex表示使用規則表示式語法、glob表示Glob語法 操作路徑 想確定Path代表的路徑,實際上是否存在檔案,可以使用Files.exists()或Files.notExists() Files.exists()僅在檔案存在時傳回true,如果檔案不存在或無法確認存不存在(例如沒有權限存取檔案)則傳回false Files.notExists()會在檔案不存在時傳回true,如果檔案存在或無法確認存不存在則傳回false 操作路徑 對於檔案的一些基本屬性,可以使用Files的isExecutable()、isHidden()、isReadable()、isRegularFile()、isSymbolicLink()、isWritable()等方法來得知 如果需要更多檔案屬性資訊,則必須透過BasicFileAttributes或搭配FileAttributeView來取得 屬性讀取與設定 屬性讀取與設定 屬性讀取與設定 creationTime()、lastAccessTime()、lastModifiedTime()傳回的是FileTime實例,也可以透過Files.getLastModifiedTime()取得最後修改時間 若想設定最後修改時間,可以透過Files.setLastModifiedTime()指定代表修改時間的FileTime實例: 屬性讀取與設定 屬性設定可透過Files.setAttribute()方法。例如設定檔案為隱藏: Files.setAttribute()第二個引數必須指定FileAttributeView子介面規範的名稱,格式為[view-name:]attribute-name view-name可以從FileAttributeView子介面實作物件的name()方法取得(亦可查看API文件),如果省略就預設為“basic” attribute-name可在FileAttributeView各子介面的API文件中查詢 屬性讀取與設定 例如同樣設定最後修改時間,改用Files.setAttributes()可以如下撰寫: 屬性讀取與設定 可以透過Files.getAttribute()方法取得各種檔案屬性,使用方式類似setAttributes() 也可透過Files.readAttributes()另一版本取得MapString, Object物件,鍵部份指定屬性名稱,就可以取得屬性值 屬性讀取與設定 可以如下取得DosFileAttributes實例: 屬性讀取與設定 如果想取得儲存裝置本身的資訊,可以利用Files.getFileStore()方法取得指定路徑的FileStore實例 或透過FileSystem的getFileStores()方法取得所有儲存裝置的FileStore實例 操作檔案與目錄 想要刪除Path代表的檔案或目錄,可以使用Files.delete()方法 如果不存在,會拋出NoSuchFileException 如果因目錄不為空而無法刪除檔案,會拋出DirectoryNotEmptyException 使用Files.deleteIfExists()方法也可以刪除檔案,這個方法在檔案不存在時呼叫,並不會拋出例外 操作檔案與目錄 如果想要複製來源Path的檔案或目錄至目的地Path,可以使用Files.copy()方法 第三個選項可以指定CopyOption介面的實作物件,CopyOption實作類別有以Enum型態實作的StandardCopyOption與LinkOption StandardCopyOption的REPLACE_EXISTING實例進行複製時,若目標檔案已存在就會予以覆蓋,COPY_ATTRIBUTES會嘗試複製相關屬性 LinkOption的NOFOLLOW_LINKS則不會跟隨符號連結 操作檔案與目錄 一個使用Files.copy()的範例如下: Files.copy()還有重載兩個版本 接受InputStream作為來源,可直接讀取資料,並將結果複製至指定的Path中 將來源Path複製至指定的OutputStream 操作檔案與目錄 可改寫10.1.1中的Download為以下: 操作檔案與目錄 若要進行檔案或目錄移動,可以使用Files.move()方法 如果要建立目錄,可
文档评论(0)