URL und Inhalt der Ressource abrufen in Java

Sarwan Soomro 12 Oktober 2023
  1. Verwendung der Funktion getResource() zum Abrufen von Ressourcen-URLs in Java
  2. Verwendung von getResourceAsStream() zum Abrufen von Ressourceninhalten in Java
URL und Inhalt der Ressource abrufen in Java

Dieses Tutorial zeigt, wie Sie Ressourcen-URLs abrufen und Ressourcendateien in Java mit der Funktion getResource() lesen.

Verwendung der Funktion getResource() zum Abrufen von Ressourcen-URLs in Java

Wir werden die Methode getResource() in Java verwenden, um die URL von drei Dateien zu erhalten: image.png, image1.png, resourcetext.txt.

Wir übergeben Ressourcen-URLs in Strings im Körper der Funktion getResource(). Die Funktion sucht dann nach der angegebenen Ressourcenzeichenfolge und gibt ein Objekt zurück, das eine URL enthält.

Syntax:

getResource(String);
public resource = yourclassname.getResource("Resource URL");

Beispielcode:

/*//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);
  }
}

Ausgabe:

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

Wie wir sehen können, haben wir die drei Dateien in der Zeichenfolge URL gespeichert. Dann verwenden wir die Methode obj.getClass(), um die Hauptklasse zu erhalten, die die Bild-URL erhält.

Die Funktion getResource() ist diejenige, die die URL zurückgibt.

Verwendung von getResourceAsStream() zum Abrufen von Ressourceninhalten in Java

Java reserviert eine Methode namens getResourceAsStream(), um Dateien zu lesen. Die Funktion gibt ein InputStream-Objekt zurück, das die angegebene Ressource der Klasse enthält.

Für das folgende Beispiel verwenden wir getResourceAsStream(), um diese Datei zu lesen: /get resource URL java/src/readfile/GetResourceReadFile.java. Und die Zeichenfolge getresourcefromhere = "readfile/example.json"; Hier speichern wir die JSON-Datei.

Syntax:

private InputStream getFileFromResourceAsStream(String getresourcefromhere) {
  ClassLoader cL = getClass().getClassLoader();
  InputStream inputStream = cL.getResourceAsStream(getresourcefromhere);
  return inputStream;
}

Schauen Sie sich das folgende vollständige Programm an, wenn Sie die grundlegende Syntax verstanden haben.

Dieses Programm funktioniert auf jeder Plattform. Sie sollten auf die Hauptklassen- und Dateiverzeichnisverwaltung achten.

// 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();
    }
  }
}

Ausgabe:

{
    "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" }
    ]
}

Das gesamte Programm ist das gleiche wie im vorherigen Beispiel mit URL. Der einzige Unterschied ist der InputStream und ClassLoader cL = getClass().getClassLoader();.

Sarwan Soomro avatar Sarwan Soomro avatar

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