【Java】判斷檔案的尾碼名

來源:互聯網
上載者:User

標籤:java   尾碼名   string   file   檔案   

這本來不是一個問題,利用架構本來有的方法,或者File類的getPath()方法,取出要判斷檔案路徑,或者getName()方法取出檔案路徑,成為一個String字串假設為fileName之後,再對帶哦用這fileName的endsWith("txt")方法,得到的布爾值就能判斷其是否txt檔案。這本來沒什麼好說,但會出現什麼呢?比如要判斷是否為圖片檔案,尤其是一些上傳系統中,你的判斷條件就要寫成如下的形式:

if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")                              || fileName.endsWith(".bmp")                              || fileName.endsWith(".gif")                              || fileName.endsWith(".png")){}
在允許檔案類型的比較多的情況,非常難看,此時可以利用indexOf方法與Java的可變長參數可以完美解決這個問題,具體可以參看《【Java】JDK1.5以後新型的泛型參數傳遞方法Object...args》(點擊開啟連結)這裡不再贅述了。

比如以下的程式,判斷該檔案是否為.txt,.png,gif,.bmp之一,並對f:\\a.jsp這個路徑進行測試,代碼如下:

package isValid;public class validTest {public static boolean isValid(String contentType, String... allowTypes) {if (null == contentType || "".equals(contentType)) {return false;}for (String type : allowTypes) {if (contentType.indexOf(type) > -1) {return true;}}return false;}public static void main(String[] args) {String[] allowTypes = new String[] { ".txt", ".png", "gif", ".bmp" };Boolean CanUploaded = isValid("f:\\a.jsp", allowTypes);if (CanUploaded) {System.out.println("該檔案為.txt,.png,gif,.bmp之一,允許上傳!");} else {System.out.println("該檔案不為.txt,.png,.gif,.bmp之一,禁止上傳!");}}}
運行結果如下:

這樣就可以避免在if中寫過多的東西。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

【Java】判斷檔案的尾碼名

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.