栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AllTypes

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AllTypes

01Simple class.getResource vs class.getClassLoader().getResource

class.getResource 的根目录就是当前跟目录
class.getClassLoader().getResource 的当前目录就是当前跟目录

  
    private static void ClassLoad_VS_Class_getPath() {
        String classGetResource = ReadResource.class.getResource("/").getPath();
        String classLoadGetResource = ReadResource.class.getClassLoader().getResource("").getPath();
        logger.info(
                "n"
                        + "classGetResource default path: " + classGetResource
                        + "n"
                        + "classLoadGetResource default path: " + classLoadGetResource);
    }
  
    private static void ClassLoaderGetResource() throws IOException {
        InputStream in = ReadResource.class.getClassLoader().getResourceAsStream("properties/test.properties");
        Properties properties = new Properties();
        properties.load(in);
        String name = properties.getProperty("name");
        logger.info("name is :"+ name );
    }

    
    private static void GetResource() throws IOException {
        InputStream in = ReadResource.class.getResourceAsStream("/properties/test.properties");
        Properties properties = new Properties();
        properties.load(in);
        String name = properties.getProperty("name");
        logger.info("name is :"+ name );
    }
FileReader 读取文件
 
    private static void ReadLocalFile() throws IOException {
        //String filePath ="D://E//TEMP//product4FileReader.txt";
        String filePath = ReadByFileReaderTest.class.getResource("/product4FileReader.txt").getPath();
        logger.info(filePath);
        File file=new File(filePath);
        if( file.isFile() && file.exists()) {
            Reader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String strTemp = "";
            while ((strTemp = bufferedReader.readLine()) != null) {
                System.out.println(strTemp);
            }
            //注意关闭流
            bufferedReader.close();
            fileReader.close();
        }
    }

绕8圈读取本地文件
    
    private static void InputStreamReader01() throws IOException {
        //String fileName="D://temp//tempdata//product4FileReader.txt";
        String fileName = ReadByFileInpuStream.class.getResource("/product4FileReader.txt").getPath();
        String encoding="utf-8";
        File file = new File(fileName);
        if(file.isFile() && file.exists()) {
            String strTmp = "";     //临时变量
            StringBuilder stringBuilder = new StringBuilder();   //
            InputStream inputStream = new FileInputStream(file);
            Reader inputStreamReader = new InputStreamReader(inputStream,encoding);  //如果需要进行编码
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            while ((strTmp = bufferedReader.readLine()) != null) {
                stringBuilder.append(strTmp);
                stringBuilder.append("n");
            }
            System.out.println(stringBuilder.toString());
            bufferedReader.close();
            inputStreamReader.close();
            inputStream.close();
        }
    }
InputStream 读取本地文件

通过对比,看到这个结构最清晰,以后读取文件,就用它了。

   
    private static void ReadFileByInpuStreamGood() throws IOException {
        //String fileName="D://temp//tempdata//product4FileReader.txt";
        String fileName = ReadByFileInpuStream.class.getResource("/product4FileReader.txt").getPath();
        String encoding="utf-8";
        InputStream inputStream = new FileInputStream(fileName);
        BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
        byte[] bytes = new byte[1024];
        int len=0;
        while((len=bufferedInputStream.read(bytes))!=-1){
            String str = new String(bytes,0,len, Charset.forName(encoding));
            System.out.println(str);
        }
        bufferedInputStream.close();
        inputStream.close();
    }
01Simple02 02dom4j 03jsoup 04 jackson 05 fastjson others
//https://blog.csdn.net/Captain249/article/details/98172911
        //多重获取路径方式

        String strClassGetResource= jsoup05GetAttr.class.getResource("/jsoup04GetElement.html").getPath();
        String strClassGetClassLoader =jsoup05GetAttr.class.getClassLoader().getResource("jsoup04GetElement.html").getPath();

        String strClassLoader =ClassLoader.getSystemClassLoader().getResource("jsoup04GetElement.html").getPath();
        String strClassLoader2 =ClassLoader.getSystemResource("jsoup04GetElement.html").getPath();

        String strThread =Thread.currentThread().getContextClassLoader().getResource("jsoup04GetElement.html").getPath();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号