JAVA中的File類的操作與小爬蟲的製作

2021-01-09 專注軟體開發學習

File類(java.io.File;)

Java中所有的目錄都被當成File 對待,它直接處理文件和文件系統。也就是說,File類沒有指定信息怎樣從文件讀取或向文件存儲;它描述了文件本身的屬性。File對象用來獲取或處理與磁碟文件相關的信息,例如權限,時間,日期和目錄路徑。此外,File還瀏覽子目錄層次結構。很多程序中文件是數據的根源和目標。儘管它們在小應用程式中因為安全原因而受到嚴格限制,文件仍是存儲固定和共享信息的主要資源。

1.構造函數

File(File parent, String child) 根據 parent 抽象路徑名和 child 路徑名字符串創建一個新 File 實例。File(String pathname) 通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例。File(String parent, String child) 根據 parent 路徑名字符串和 child 路徑名字符串創建一個新 File 實例。File(URI uri) 通過將給定的 file: URI 轉換為一個抽象路徑名來創建一個新的 File 實例。

2.創建方法

boolean createNewFile() 不存在返回true 存在返回false,若且唯若不存在具有此抽象路徑名指定名稱的文件時,不可分地創建一個新的空文件。boolean mkdir() 創建目錄,創建此抽象路徑名指定的目錄。boolean mkdirs() 創建多級目錄,創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。

3.刪除方法

boolean delete() 刪除此抽象路徑名表示的文件或目錄。void deleteOnExit() 在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄。

4.修改方法

boolean renameTo(File dest) 重新命名此抽象路徑名表示的文件。重命名文件夾或文件的名稱boolean setExecutable(boolean executable) 設置此抽象路徑名所有者執行權限的一個便捷方法。boolean setExecutable(boolean executable, boolean ownerOnly) 設置此抽象路徑名的所有者或所有用戶的執行權限。boolean setLastModified(long time) 設置此抽象路徑名指定的文件或目錄的最後一次修改時間。boolean setReadable(boolean readable) 設置此抽象路徑名所有者讀權限的一個便捷方法。boolean setReadable(boolean readable, boolean ownerOnly) 設置此抽象路徑名的所有者或所有用戶的讀權限。boolean setReadOnly() 標記此抽象路徑名指定的文件或目錄,從而只能對其進行讀操作。boolean setWritable(boolean writable) 設置此抽象路徑名所有者寫權限的一個便捷方法。boolean setWritable(boolean writable, boolean ownerOnly) 設置此抽象路徑名的所有者或所有用戶的寫權限。5.判斷方法

boolean canExecute() 測試應用程式是否可以執行此抽象路徑名表示的文件。boolean canRead() 測試應用程式是否可以讀取此抽象路徑名表示的文件。boolean canWrite() 測試應用程式是否可以修改此抽象路徑名表示的文件。boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在。boolean isAbsolute() 測試此抽象路徑名是否為絕對路徑名。boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄。boolean isFile() 測試此抽象路徑名表示的文件是否是一個標準文件。boolean isHidden() 測試此抽象路徑名指定的文件是否是一個隱藏文件。6.獲取方法

File getAbsoluteFile() 返回此抽象路徑名的絕對路徑名形式。String getAbsolutePath() 返回此抽象路徑名的絕對路徑名字符串。File getCanonicalFile() 返回此抽象路徑名的規範形式。String getCanonicalPath() 返回此抽象路徑名的規範路徑名字符串。long getFreeSpace() 返回此抽象路徑名指定的分區中未分配的字節數。String getName() 返回由此抽象路徑名表示的文件或目錄的名稱。String getParent() 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null。File getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒有指定父目錄,則返回 null。String getPath() 將此抽象路徑名轉換為一個路徑名字符串。long getTotalSpace() 返回此抽象路徑名指定的分區大小。long getUsableSpace() 返回此抽象路徑名指定的分區上可用於此虛擬機的字節數。long lastModified() 返回此抽象路徑名表示的文件最後一次被修改的時間。long length() 返回由此抽象路徑名表示的文件的長度。static File[] listRoots() 列出可用的文件系統根。

7.搜索文件

String[] list() 返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。File[] listFiles() 返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件8.過濾文件

String[] list(FilenameFilter filter) 返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。File[] listFiles(FileFilter filter) 返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。File[] listFiles(FilenameFilter filter) 返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。根據上面的知識我們可以結合其他學習的東西做一個簡單的爬蟲,該爬蟲引用了jsoup大家需要可以給我評論我發給

如圖:

相關焦點

  • Java之File類的構造方法
    各位小夥伴們大家好,在之前的文章中,小編介紹了Java之File類的簡單介紹,File類的靜態成員變量,這次小編要介紹的是File類的構造方法參數:把路徑分成了兩部分File parent:父路徑String child:子路徑好處:1.父路徑和子路徑,可以單獨書寫,使用方便;父路徑和子路徑都可以變化2.父路徑是File類型,可以使用File類的方法對路徑進行一些操作
  • Java transient關鍵字使用小記
    1.transient的作用及使用方法我們都知道一個對象只要實現了Serilizable接口,這個對象就可以被序列化,java的這種序列化模式為開發者提供了很多便利,我們可以不必關係具體序列化的過程,只要這個類實現了Serilizable接口,這個類的所有屬性和方法都會自動序列化。
  • Java反射初探 ——「當類也學會照鏡子」
    等基本類型,雖然本質上不是對象,但行為卻也和對象密切相關(基本包裝類型和自動裝箱) 所以有一個可能完全打破我們常規思維的論斷是: 類也是對象「類」對象和「類」類型好吧,其實說「 類也是對象」並不太好,而應該說,java中
  • Java字符串地查找操作
    在一個字符串中查找字符或子串是經常使用的操作。String類提供了兩種查找字符串的方法,分別是indexOf()和lastIndexOf(),這兩種方法都返回待查找字符或子串在字符串的起始索引位置。在PbaseUnit11項目unit包下創建StringSearchSample類。
  • 面試頻率最高的簡單問題——Java類的三大基本特徵
    學習過Java的程式設計師都知道,java類有三大特徵——封裝、繼承和多態。下面的文章給大家詳細的介紹一下java的這三大特性。封裝封裝是將描述某類事物的數據與處理這些數據的函數封裝在一起,形成一個有機整體,稱為類。類所具有的的封裝性可使程序模塊具有良好的獨立性與可維護性。
  • Java之Random類的簡單介紹
    各位小夥伴這次小編要介紹的是Random類,它是用來形成隨機數字的,使用Random有三個步驟,與之前講的Scanner類差不多。第一步,導包:import java.util.Random第二步,創建:Random a=new Random();小括號是可以留空的第三步,使用:如果要獲取一個隨機數int數字(範圍是int所有範圍,有正負兩種):int num=a.nextInt();為了方便大家的理解,小編就先粘幾行代碼,是一個比較簡單的猜數字小遊戲,代碼如下:
  • Java內部類新解,你沒有見過的船新版本
    基礎Java支持類中嵌套類,稱之為nested class。嵌套的層數沒有限制,但實際中一般最多用兩層。根據內部類是否有static修飾,分為 static nested class和 non-static nested class。
  • python爬蟲-urllib、urllib2、requests三者關係
    抓取始終是一個很大的需求,小到單個頁面,某個站點,大到搜尋引擎(百度、谷歌)的全網抓取。只要人能看到的東西,理論上都是爬蟲可以獲取的。不論靜態頁面還是動態頁面。也不論pc端的頁面還是移動端的app。話有點大,但這就是本系列的目的。
  • Java編程中基礎反射詳細解析
    有時會把這一整個流程統稱為類加載或類初始化。類加載指的是將類的class文件讀入內存中,並為之創建一個 java.lang.Class對象,也就是說程序使用任何類的時候,都會為其創建一個class對象。
  • 淺談Java中的幾種隨機數
    最明顯的,也是直觀的方式,在Java中生成隨機數隻要簡單的調用:java.lang.Math.random() 在所有其他語言中,生成隨機數就像是使用Math工具類,如abs, pow, floor, sqrt和其他數學函數。大多數人通過書籍、教程和課程來了解這個類。一個簡單的例子:從0.0到1.0之間可以生成一個雙精度浮點數。
  • Java基礎教程:java反射機制教程
    Java反射說的是在運行狀態中,對於任何一個類,我們都能夠知道這個類有哪些方法和屬性。很多動力節點的學員在面試中都會被問到Java反射機制這個問題,為了幫助大家更好的掌握這個知識點,小編整理了一些資料分享給大家。
  • java操作ES整個流程介紹
    一 準備工作下載elasticsearch-6.7.0和展示ES數據的界面工具elasticsearch-head-master,本人電腦已安裝IntelliJ IDEA 2019.3 x64的java工具。簡單點,我們直接按默認配置學習。windows直接點擊elasticsearch.bat啟動ES。
  • 用Java 拿下 HTML,分分鐘寫個小爬蟲!
    它提供了一套很省力的 API,可通過 DOM、CSS 以及類似於 jQuery 選擇器的操作方法來取出和操作數據。jsoup 主要功能:從一個 URL、文件或字符串中解析 HTML。使用 DOM 或 CSS 選擇器來查找、取出數據。可操作 HTML 元素、屬性、文本。
  • Python新手爬蟲,簡單製作抓取廖雪峰的教程的小爬蟲
    在整個抓取過程中,除了普通的文本以外,還需要處理 3個地方,分別是:代碼、圖片、視頻,因為目前只寫到了文本文件,所以直接抓到圖片或者視頻的地址,標識清楚後寫入到 txt,這裡可以在進一步,寫到 word/pdf 或者其他文件,留待以後改進!
  • 廁所中的小飛蟲,小爬蟲要怎樣清除?
    廁所裡由於潮溼會生很多的小飛蟲和小爬蟲,樣子有點象飛蛾、很小、黑黑的會到處飛。用手一拍手上牆上就會留下一個個小黑點,非常的煩心。廁所中的小飛蟲、小爬蟲要怎樣清除?廁所消毒:如果廁所裡出現小飛蟲和小爬蟲,就要給廁所消消毒了。先用潔廁劑把廁所內的各個角落都要搞的乾乾淨淨,刷得潔白如新。尤其是地漏和通便管道都要用潔廁劑刷一下。
  • Java常見內存溢出異常分析
    Heap dump file created [14212861 bytes in 0.128 secs]   Exception in thread 「main」 java.lang.OutOfMemoryError:Java heap space   at java.util.Arrays.copyof(Arrays.java:3210)
  • 必學——Java抽象類、接口、多態
    類不能用new運算符創建對象,必須產生其子類,由子類創建對象。若abstract類的類體中有abstract方法,只允許聲明,而不允許實現。2、接口Java不支持多繼承性,即一個類只能有一個父類。單繼承性使得Java簡單,易於管理程序。
  • 使用Scrapy網絡爬蟲框架小試牛刀
    前言這次咱們來玩一個在Python中很牛叉的爬蟲框架——Scrapy。scrapy 介紹標準介紹Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架,非常出名,非常強悍。所謂的框架就是一個已經被集成了各種功能(高性能異步下載,隊列,分布式,解析,持久化等)的具有很強通用性的項目模板。
  • Java反射機制深入詳解
    一.概念反射就是把Java的各種成分映射成相應的Java類。Class類的構造方法是private,由JVM創建。反射是java語言的一個特性,它允程序在運行時(注意不是編譯的時候)來進行自我檢查並且對內部的成員進行操作。例如它允許一個java的類獲取他所有的成員變量和方法並且顯示出來。
  • 打工人打工魂,打工的必會java調用python的幾種用法
    本文轉載自【微信公眾號:五角錢的程式設計師,ID:xianglin965】,經微信公眾號授權轉載,如需轉載與原文作者聯繫圖丨pexelsjava調用python的幾種用法(看這篇就夠了)在java類中直接執行python語句準備工作:創建maven工程,結構如下:到官網https://www.jython.org