![java package tutorial](/java/lang/images/java.jpg)
- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java ClassLoader getSystemResourceAsStream() Method
Description
The Java ClassLoader getSystemResourceAsStream() method opens for reading, a resource of the specified name from the search path used to load classes.
Declaration
Following is the declaration for java.lang.ClassLoader.getSystemResourceAsStream() method
public static InputStream getSystemResourceAsStream(String name)
Parameters
name − This is the resource name.
Return Value
This method returns an input stream for reading the resource, or null if the resource could not be found.
Exception
NA
Getting Resource as Stream using ClassLoader Example
The following example shows the usage of java.lang.ClassLoader.getSystemResourceAsStream() method. In this program, we've retrieved class of a ClassLoaderDemo. Then using getClassLoader(), we get the required ClassLoader. Now considering file.txt being in classpath of the java program, we've retrieved content of the file as stream using getSystemResourceAsStream() and printed the content accordingly.
package com.tutorialspoint; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; class ClassLoaderDemo { static String getSystemResource(String rsc) { String val = ""; try { Class cls = Class.forName("com.tutorialspoint.ClassLoaderDemo"); // returns the ClassLoader object associated with this Class ClassLoader cLoader = cls.getClassLoader(); // input stream InputStream inputStream = cLoader.getSystemResourceAsStream(rsc); if(inputStream != null) { BufferedReader buffer = new BufferedReader(new InputStreamReader(inputStream)); // reads each line String l; while((l = buffer.readLine()) != null) { val = val + l; } buffer.close(); inputStream.close(); } } catch(Exception e) { System.out.println(e); } return val; } public static void main(String[] args) { System.out.println("File: " + getSystemResource("file.txt")); } }
Output
Assuming we have a text file file.txt, which has the following content −
This is TutorialsPoint!
Let us compile and run the above program, this will produce the following result −
File: This is TutorialsPoint!
Checking Resource as Stream using ClassLoader Example
The following example shows the usage of java.lang.ClassLoader.getSystemResourceAsStream() method. In this program, we've retrieved class of a ClassLoaderDemo. Then using getClassLoader(), we get the required ClassLoader. Now considering test.txt not being in the class path, we got stream as null using getSystemResourceAsStream() and printed the message accordingly.
package com.tutorialspoint; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; class ClassLoaderDemo { static String getSystemResource(String rsc) { String val = ""; try { Class cls = Class.forName("com.tutorialspoint.ClassLoaderDemo"); // returns the ClassLoader object associated with this Class ClassLoader cLoader = cls.getClassLoader(); // input stream InputStream inputStream = cLoader.getSystemResourceAsStream(rsc); if(inputStream != null) { BufferedReader buffer = new BufferedReader(new InputStreamReader(inputStream)); // reads each line String l; while((l = buffer.readLine()) != null) { val = val + l; } buffer.close(); inputStream.close(); } else{ System.out.println("File not found!"); } } catch(Exception e) { System.out.println(e); } return val; } public static void main(String[] args) { System.out.println("File: " + getSystemResource("test.txt")); } }
Output
Assuming we have another text file test.txt, but not in classpath which has the following content −
This is Java Tutorial
Let us compile and run the above program, this will produce the following result −
File not found! File: