Java ClassLoader getSystemResource() 方法



描述

Java ClassLoader getSystemResource() 方法從用於載入類的搜尋路徑中查詢指定名稱的資源。

宣告

以下是java.lang.ClassLoader.getSystemResource() 方法的宣告

public static URL getSystemResource(String name)

引數

name − 資源名稱。

返回值

此方法返回一個用於讀取資源的 URL 物件,如果找不到資源則返回 null。

異常

從類路徑獲取資源示例

以下示例演示了 java.lang.ClassLoader.getSystemResource() 方法的用法。在這個程式中,我們檢索了 ClassLoaderDemo 的類。然後使用 getClassLoader() 獲取所需的 ClassLoader 並使用 getClass() 列印類載入器類。現在假設 file.txt 位於 java 程式的類路徑中,我們使用 getSystemResource() 方法檢索檔案的 URL 並列印它。

package com.tutorialspoint;

import java.net.URL;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("com.tutorialspoint.ClassLoaderDemo");

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();
    
      System.out.println(cLoader.getClass());
    
      // finds resource
      URL url = cLoader.getSystemResource("file.txt");
      System.out.println("Value = " + url);
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

class jdk.internal.loader.ClassLoaders$AppClassLoader
Value = file:/C:/Users/Tutorialspoint/eclipse-workspace/Tutorialspoint/lib/file.txt

從類路徑檢查資源示例

以下示例演示了 java.lang.ClassLoader.getSystemResource() 方法的用法。在這個程式中,我們檢索了 ClassLoaderDemo 的類。然後使用 getClassLoader() 獲取所需的 ClassLoader 並使用 getClass() 列印類載入器類。現在假設 a.txt 不在類路徑中,我們使用 getSystemResource() 方法檢索檔案的 URL 為 null 並列印它。

package com.tutorialspoint;

import java.net.URL;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("com.tutorialspoint.ClassLoaderDemo");

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();
    
      System.out.println(cLoader.getClass());

      // finds resource
      URL url = cLoader.getSystemResource("newfolder/a.txt");
      System.out.println("Value = " + url);  
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

class jdk.internal.loader.ClassLoaders$AppClassLoader
Value = null
java_lang_classloader.htm
廣告
© . All rights reserved.