1. 程式人生 > 實用技巧 >Spring boot + Shiro 在前後端分離時,ajax跨域問題(OPTIONS問題)

Spring boot + Shiro 在前後端分離時,ajax跨域問題(OPTIONS問題)

File類

  • 描述

    java.io.File 類是檔案和目錄路徑名的抽象表示。
    * 1. File類的一個物件,代表一個檔案或一個檔案目錄(俗稱:資料夾)
    * 2. File類宣告在java.io包下
    * 3. File類中涉及到關於檔案或檔案目錄的建立、刪除、重新命名、修改時間、檔案大小等方法,
    *    並未涉及到寫入或讀取檔案內容的操作。如果需要讀取或寫入檔案內容,必須使用IO流來完成。
    * 4. 後續File類的物件常會作為引數傳遞到流的構造器中,指明讀取或寫入的"終點"
    
  • 路徑分類

    相對路徑:相較於某個路徑下,指明的路徑。
    絕對路徑:包含碟符在內的檔案或檔案目錄的路徑
    
    說明:
    IDEA中:
    如果大家開發使用JUnit中的單元測試方法測試,相對路徑即為當前Module下。
    如果大家使用main()測試,相對路徑即為當前的Project下。
    Eclipse中:
    不管使用單元測試方法還是使用main()測試,相對路徑都是當前的Project下。
    
  • 常用方法

    構造方法

    File​(File parent, String child) 從父抽象路徑名和子路徑名字串建立新的 File例項。 
        引數;
        	String parent;父路徑
        	String child;子路徑
        好處;
        	父路徑子路徑,可以單獨寫
        	父路徑是File型別,可以使用file類中那個的方法對路徑進行一些操作
    File​(String pathname) 通過將給定的路徑名字串轉換為抽象路徑名來建立新的 File例項。 
        引數;
        	string pathname;字串的路徑名稱
        	路徑可以是檔案結尾,也可以是資料夾結尾
        	路徑可以是相對路徑/絕對路徑,也可以是不存在/存在
        	file物件只是把字串路徑封裝成file類物件,不考慮路徑的真實情況
    File​(String parent, String child) 從父路徑名字串和子路徑名字串建立新的 File例項。  
    File​(URI uri) 通過將給定的 file: URI轉換為抽象路徑名來建立新的 File例項。  
    
    

    欄位彙總

    static String pathSeparator 與系統相關的路徑分隔符字元,為方便起見,表示為字串。 
        windows為; Linux為:
    static char pathSeparatorChar 與系統相關的路徑分隔符。
        
    static String separator 與系統相關的預設名稱 - 分隔符字元,以方便的方式表示為字串。  
        window為反斜槓 \  Linux為正斜槓 /
    static char separatorChar 與系統相關的預設名稱分隔符。
    

    成員方法

    //獲取功能--------------------------------------------------------
    public String getAbsolutePath(); 獲取絕對路徑.
        //存在不存在無所謂.
    public String getPath(); 獲取構造方法中傳遞的路徑.
        //在原始碼當中toString呼叫的就是getPath();
    public String getName(); 獲取檔案或者檔案的名稱.
        //獲取的是構造方法中傳遞的結尾部分(檔案還是資料夾).
    public String getParent(); 獲取上層檔案目錄路徑。若無返回null.
    public long length(); 返回此file表示的'檔案'的長度(即:位元組數)。不能獲取目錄長度,如果不存在輸出0.
    public long lastModified(); 獲取最後一次的修改時間,毫秒值.
    //判斷功能----------------------------------------------------------
    public boolean exists(); 判斷file表示的檔案或者資料夾是否實際存在
    public boolean isDirectory();判斷file表示的'資料夾'是否存在
        判斷構造方中給定的路徑是否是檔案
    public boolean isFile(); 判斷此file是否是'檔案'
        用於判斷構造方法中給定的路徑是否以檔案結尾
        	true/false
        注意/電腦的硬碟中只有檔案和資料夾,兩個方法是互斥的
        這兩個方法使用的前提是;路徑必須是存在的,否則都返回false
    public boolean canRead(); 判斷是否可讀
    public boolean canWrite(); 判讀是可寫
    public boolean isHidden(); 判斷是否隱藏
    //建立檔案------------------------------------------------------------
    public boolean createNewFile();建立檔案。若檔案的存在,就不建立,返回false,否則就建立並返回true。
        1.此方法不能建立檔案價,只能建立檔案
        2.建立的路徑必須存在,否則就丟擲異常。IOException
    public boolean mkdir();建立檔案目錄。如果此檔案目錄存在,就不建立。如果此檔案目錄的上層目錄不存在,也不建立。-->建立單級資料夾
    public boolean mkdirs();建立檔案目錄。如果上層檔案目錄不存在一併建立。-->建立單/多級資料夾
        //注意;如果你建立問價或者檔案目錄沒有寫碟符路徑,那麼,預設在專案路徑下。
    //刪除----------------------------------------------------------------
    public boolean delete(); 刪除檔案或者資料夾
        //刪除注意事項
        //刪除可以是相對路徑或者絕對路徑
        //java中的刪除不走回收站
        //要刪除一個檔案目錄,請注意檔案目錄不能包含檔案或者資料夾目錄
    	//要刪除的檔案則不注意檔案是否有內容
    //目錄遍歷-------------------------------------------------------------
    public String[] list(); 返回一個String陣列,表示該file目錄中的所有的子目錄或者子檔案
        根據構造方法中的目錄儲存到一個String型別的陣列中
    public File[] listFile; 返回file陣列,表示該list目錄中的所有子目錄或者子檔案
        注意事項;
        	list方法和listFile方法遍歷的是構造方法指定的目錄。
        	如果構造方法中給出的目錄的路徑不存在,會丟擲空指標
        	如果構造方法中給出的目錄不是一個目錄,也會丟擲空指標
    //重新命名----------------------------------------------------------------
    public boolean renameTo(File dest);把檔案重新命名位置的檔案路徑