Java에서 리소스 URL 및 콘텐츠 가져오기
이 자습서는 getResource()
함수를 사용하여 Java에서 리소스 URL을 가져오고 리소스 파일을 읽는 방법을 보여줍니다.
getResource()
함수를 사용하여 Java에서 리소스 URL 가져오기
Java에서 getResource()
메서드를 사용하여 image.png
, image1.png
, resourcetext.txt
의 세 파일 URL을 가져옵니다.
getResource()
함수 본문의 문자열로 리소스 URL을 전달합니다. 그런 다음 함수는 지정된 리소스 문자열을 검색하고 URL이 포함된 개체를 반환합니다.
통사론:
getResource(String);
public resource = yourclassname.getResource("Resource URL");
예제 코드:
/*//you will learn how to get image URL in the following program
//import statements
*/
import java.lang.*;
import java.net.URL;
public class getImageUrl {
public static void main(String[] args) throws Exception {
getImageUrl obj = new getImageUrl();
@SuppressWarnings("rawtypes") Class resource = obj.getClass();
URL imageurl = resource.getResource("/image.png");
System.out.println("Resource URL one is = " + imageurl);
URL imageurl2 = resource.getResource("/image2.png");
System.out.println("Resource URL two is = " + imageurl2);
URL texturl = resource.getResource("/textresource.txt");
System.out.println("Resource URL of the text file is = " + texturl);
}
}
출력:
Resource URL one is = file:/C:/Users/NAME/Desktop/JAVA/get%20resource%20url%20java/bin/image.png
Resource URL two is = file:/C:/Users/NAME/Desktop/JAVA/get%20resource%20url%20java/bin/image2.png
Resource URL of the text file is = file:/C:/Users/NAME/Desktop/JAVA/get%20resource%20url%20java/bin/textresource.txt
보시다시피 문자열 URL에 세 개의 파일을 저장했습니다. 그런 다음 obj.getClass()
메서드를 사용하여 이미지 URL을 수신하는 기본 클래스를 가져옵니다.
getResource()
함수는 URL을 반환하는 함수입니다.
getResourceAsStream()
을 사용하여 Java에서 리소스 콘텐츠 가져오기
Java는 getResourceAsStream()
이라는 메소드를 예약하여 파일을 읽습니다. 이 함수는 클래스의 지정된 리소스를 포함하는 InputStream
개체를 반환합니다.
아래 예에서는 getResourceAsStream()
을 사용하여 /get resource URL java/src/readfile/GetResourceReadFile.java
파일을 읽습니다. 그리고 문자열 getresourcefromhere = "readfile/example.json";
JSON 파일을 저장하는 곳입니다.
통사론:
private InputStream getFileFromResourceAsStream(String getresourcefromhere) {
ClassLoader cL = getClass().getClassLoader();
InputStream inputStream = cL.getResourceAsStream(getresourcefromhere);
return inputStream;
}
기본 구문을 이해했다면 다음 전체 프로그램을 확인하십시오.
이 프로그램은 모든 플랫폼에서 작동합니다. 메인 클래스와 파일 디렉토리 관리에 주의를 기울여야 합니다.
// import necessary packages
package readfile;
import java.io.*;
import java.nio.charset.StandardCharsets;
// start function
public class GetResourceReadFile {
private static final String String = null;
public static void main(String[] args) throws IOException, Exception {
GetResourceReadFile app = new GetResourceReadFile();
// get resource file
String getresourcefromhere = "readfile/example.json";
// use inputStream to return object containing resource
InputStream getresourceandreadit = app.getFileFromResourceAsStream(getresourcefromhere);
printInputStream(getresourceandreadit);
}
private InputStream getFileFromResourceAsStream(String getresourcefromhere) {
// load class
ClassLoader cL = getClass().getClassLoader();
InputStream inputStream = cL.getResourceAsStream(getresourcefromhere);
return inputStream;
}
private static void printInputStream(InputStream r) {
try (InputStreamReader sR = new InputStreamReader(r, StandardCharsets.UTF_8);
BufferedReader R = new BufferedReader(sR)) {
String GOT_IT = String;
// not necessary but will give you basic idea
if (GOT_IT == String) {
// you can print multiple files
while ((GOT_IT = R.readLine()) != null) {
// print file
System.out.println(GOT_IT);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
{
"File Name": "Demonstration File",
"File Type": "JSON FILE",
"File Reader": "getResource",
"File creation date:": 2/18/2022,
"Platform": {
"Langauge Type": "Programming",
"Langugae Name": "JAVA",
"Platform": "Oracle",
"Importance": "Very High"
},
"Development Environment": [
{ "JDK": "JAVA", "LATEST": "17" }
]
}
전체 프로그램은 URL이 있는 이전 예제와 동일합니다. 유일한 차이점은 InputStream
및 ClassLoader cL = getClass().getClassLoader();
입니다.
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn