日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Servlet读取文件的最好的方式

發布時間:2023/11/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Servlet读取文件的最好的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在java web 開發的時候不可避免的會讀取文本信息,但是方式不同,所付出的代價也是不一樣的,今天學到了一個比較好的實用性的技巧,拿來與大家分享一下。

讀取屬性配置文件


之所以說成是讀取屬性(properties)文件,是因為它在開發中使用的頻率較高,而且也不像讀取xml文件那樣的復雜。下面請看


先是目錄結構:


下面看一看目標文件的內容吧db.properties文件:

driver = com.mysqy.jdbc.Driver url = jdbc:mysql://localhost:3306 user = root password = mysql
  • 常規方式

FileInputStream fis = new FileInputStream(new File("db.properties"));System.out.println(fis);

小結:
采用這個方式會很繁瑣,而且對于文件的操作也不是很方便,我們需要手動的處理很多信息。

  • java web 方式

response.getWriter().append("Served at: ").append(request.getContextPath());FileInputStream fis = (FileInputStream) this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");Properties properties = new Properties();properties.load(fis);String url = properties.getProperty("url");System.out.println(url);

運行結果:

jdbc:mysql://localhost:3306

小結:

  • 采用這個方式是利用了在web項目中ServletContext這個類的共享信息的特征
  • 讀取文件的目錄是相對于這個項目本身的相對的路徑,這樣顯得更加的靈活
  • 使用Properties類進行對屬性值的獲取,其底層是map的鍵值對的實現原理
  • 使用屬性配置文件的好處在于,在修改代碼的時候只需要修改文件中的信息即可。代碼的可維護性大大的得到了增強

    • 使用類裝載器進行讀取類路徑下文件信息(src路徑下的配置文件) 的方法

    ClassLoader loader = MyServlet.class.getClassLoader();InputStream is = (InputStream) loader.getResourceAsStream("db.properties");Properties properties = new Properties();properties.load(is);String password = properties.getProperty("password");System.out.println("java web項目獲得的類路徑下的文件的屬性配置文件信息是:"+ password);

    程序運行結果是:

    java web項目獲得的類路徑下的文件的屬性配置文件信息是:mysql


    這樣也可以達到相同讀取文件信息的效果!

    總結

    以上是生活随笔為你收集整理的Servlet读取文件的最好的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。