<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                轉載請注明出處:[http://blog.csdn.net/xiaojimanman/article/details/43194793](http://blog.csdn.net/xiaojimanman/article/details/43194793) 這篇博客主要介紹ClassUtil類和CharsetUtil類。這兩個也是項目中比較常用的類,一個用于指定文件路徑,一個用于檢測文件的編碼方式。 **ClassUtil** ClassUtil類中的方法主要是返回class文件所在的文件目錄或工程的根目錄地址,這主要用于指定工程中配置文件的路徑,不至于環境遷移而導致配置文件路徑錯誤。源代碼如下: ~~~ /** * @Description: 類工具 */ package com.lulei.util; public class ClassUtil { /** * @param c * @return * @Description: 返回類class文件所在的目錄 */ public static String getClassPath(Class<?> c) { return c.getResource("").getPath().replaceAll("%20", " "); } /** * @Description: * @param c * @param hasName 是否顯示文件名 * @return 返回類class文件的地址 */ public static String getClassPath(Class<?> c, boolean hasName) { String name = c.getSimpleName() + ".class"; String path = c.getResource(name).getPath().replaceAll("%20", " "); if (hasName) { return path; } else { return path.substring(0, path.length() - name.length()); } } /** * @Description: 返回類class文件所在的頂級目錄 * @param c * @return */ public static String getClassRootPath(Class<?> c) { return c.getResource("/").getPath().replaceAll("%20", " "); } public static void main(String[] args) { System.out.println(ClassUtil.getClassPath(ClassUtil.class, true)); System.out.println(ClassUtil.getClassPath(Math.class, true)); System.out.println(ClassUtil.getClassRootPath(Math.class)); } } ~~~ main函數運行結果如下: ![](https://box.kancloud.cn/2016-02-22_56ca7bef3b9e7.jpg) **CharsetUtil** CharsetUtil類是基于cpdetector第三方jar包實現的編碼檢測工具類。如果接觸過實際項目,你絕對會碰到程序讀取文件亂碼或更新運營文件網站就無法正常顯示等一系列問題,而這些問題多數都是因為文件編碼問題導致的。當然這個工具類,在下一部分的爬蟲程序中也扮演著重要的角色。源程序如下: ~~~ /** *@Description: 編碼方式檢測類 */ package com.lulei.util; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.nio.charset.Charset; import info.monitorenter.cpdetector.io.ASCIIDetector; import info.monitorenter.cpdetector.io.CodepageDetectorProxy; import info.monitorenter.cpdetector.io.JChardetFacade; import info.monitorenter.cpdetector.io.ParsingDetector; import info.monitorenter.cpdetector.io.UnicodeDetector; public class CharsetUtil { private static final CodepageDetectorProxy detector; static {//初始化探測器 detector = CodepageDetectorProxy.getInstance(); detector.add(new ParsingDetector(false)); detector.add(ASCIIDetector.getInstance()); detector.add(UnicodeDetector.getInstance()); detector.add(JChardetFacade.getInstance()); } /** * @param url * @param defaultCharset * @Author:lulei * @return 獲取文件的編碼方式 */ public static String getStreamCharset (URL url, String defaultCharset) { if (url == null) { return defaultCharset; } try { //使用第三方jar包檢測文件的編碼 Charset charset = detector.detectCodepage(url); if (charset != null) { return charset.name(); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return defaultCharset; } /** * @param inputStream * @param defaultCharset * @return * @Author:lulei * @Description: 獲取文件流的編碼方式 */ public static String getStreamCharset (InputStream inputStream, String defaultCharset) { if (inputStream == null) { return defaultCharset; } int count = 200; try { count = inputStream.available(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { //使用第三方jar包檢測文件的編碼 Charset charset = detector.detectCodepage(inputStream, count); if (charset != null) { return charset.name(); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return defaultCharset; } public static void main(String[] args) throws Exception { URL url = new URL("http://www.csdn.net"); System.out.println(CharsetUtil.getStreamCharset(url, "default")); } } ~~~ main函數運行結果如下: ![](https://box.kancloud.cn/2016-02-22_56ca7bef5e312.jpg) ps:最近發現其他網站可能會對博客轉載,上面并沒有源鏈接,如想查看更多關于[ 基于lucene的案例開發](http://blog.csdn.net/xiaojimanman/article/category/2841877) 請[點擊這里](http://blog.csdn.net/xiaojimanman/article/category/2841877)。或訪問網址http://blog.csdn.net/xiaojimanman/article/category/2841877
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看