English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

تحكم Java في العملية

مجموعات Java Array

Java توجيهية الأشياء (I)

Java توجيهية الأشياء (II)

Java توجيهية الأشياء (III)

معالجة الاستثناءات Java

قوائم Java List

Java Queue (الطوابير)

مجموعات Java Map

مجموعات Java Set

إدخال/إخراج Java (I/O)

قراء/كتابة Java

مواضيع أخرى Java

حصول برنامج Java على المسار النسبي من مسارين مطلقين

   جميع الأمثلة Java

في هذا المثال، سنتعلم كيفية استخدام طريقة String، فئة URI و مكتبة java.nio.file للحصول على المسار النسبي من مسارين مطلقين في Java.

مثال 1: استخدام فئة URI للحصول على المسار النسبي من مسارين مطلقين

import java.io.File;
import java.net.URI;
class Main {
  public static void main(String[] args) {
    try
      //مسارين مطلقين
      File absolutePath1 = new File("C:\\Users\\Desktop\\w3codebox\\Java\\Time.java");
      System.out.println("المسار المطلق 1: " + absolutePath1);
      File absolutePath2 = new File("C:\\Users\\Desktop");
      System.out.println("المسار المطلق 2: " + absolutePath2);
      //تحويل المسار المطلق إلى URI
      URI path1 = absolutePath1.toURI();
      URI path2 = absolutePath2.toURI();
      //إنشاء مسار نسبي من مسارين
      URI relativePath = path2.relativize(path1);
      //تحويل URI إلى سلسلة
      String path = relativePath.getPath();
      System.out.println("المسار النسبي: " + path);
    }ُألقِ القبض على (Exception e)ُ{
      e.getStackTrace();
    {}
  {}
{}

نتيجة الإخراج

المسار المطلق 1: C:\Users\Desktop\w3codebox\Java\Time.java
المسار المطلق 2: C:\Users\Desktop
المسار النسبي: w3codebox/Java/Time.java

في المثال السابق، لدينا مسارين مطلقين يُدعيان absolutePath1 و absolutePath2. لقد قمنا بتحويل المسارين المطلقين إلى مسارين نسبيين باستخدام فئة URI.

  • toURI() - تحويل عمود الملف إلىUri

  • relativize() - استخراج المسار النسبي من خلال مقارنة المسارين المطلقين مع بعضهما البعض

  • getPath() - تحويل URI إلى نص

مثال 2: استخدام method من String للحصول على المسار النسبي من مسارين مطلقين

import java.io.File;
class Main {
  public static void main(String[] args) {
    //إنشاء عنصر ملف
    File file1 = new File("C:\\Users\\Desktop\\w3codebox\\Java\\Time.java");
    File file2 = new File("C:\\Users\\Desktop");
    // تحويل ملف إلى نص
    String absolutePath1 = file1.toString();
    System.out.println("المسار المطلق 1: " + absolutePath1);
    String absolutePath2 = file2.toString();
    System.out.println("المسار المطلق 2: " + absolutePath2);
    // للحصول على المسار النسبي
    String relativePath = absolutePath1.substring(absolutePath2.length());
    System.out.println("المسار المطلق: " + relativePath);
  {}
{}

نتيجة الإخراج

المسار المطلق 1: C:\Users\Desktop\w3codebox\Java\Time.java
المسار المطلق 2: C:\Users\Desktop
المسار المطلق: \w3codebox\Java\Time.java

في المثال السابق، قمنا بتحويل مسار الملف إلى نص. لاحظ التعبير

absolutePath1.substring(absolutePath2.length())

في هذا المثال، يعود substring () من method لجزء من absolutePath1 من بدء من المؤشر يساوي طول absolutePath2. أي أن يتم حذف النص الممثل ب absolutePath2 من inside absolutePath1.

للحصول على معلومات إضافية حول كيفية عمل تحتوي النصوص الفرعية، يرجى زيارةJava String substring().

مثال 3: استخدام حزمة java.nio.file للحصول على المسار النسبي من مسارين مطلقين

import java.nio.file.Path;
import java.nio.file.Paths;
class Main {
  public static void main(String[] args) {
    //إنشاء عنصر ملف
    Path absolutePath1 = Paths.get("C:\\Users\\Desktop\\w3codebox\\Java\\Time.java");
    Path absolutePath2 = Paths.get("C:\\Users\\Desktop");
    //تحويل المسار ال絀ولي إلى نسبي
    Path relativePath = absolutePath2.relativize(absolutePath1);
    System.out.println("المسار النسبي: " + relativePath);
  {}
{}

نتيجة الإخراج

المسار النسبي: w3codebox\Java\Time.java

في المثال أعلاه، استخدمنا طريقة relativize() من واجهة Path للحصول على مسار نسبي من مسارين絀ولي.

جميع الأمثلة Java