CodeGym /Blog Java /rawak /Dapatkan pembolehubah Persekitaran dalam Java
John Squirrels
Tahap
San Francisco

Dapatkan pembolehubah Persekitaran dalam Java

Diterbitkan dalam kumpulan

Apakah Pembolehubah Persekitaran?

Setiap bahasa pengaturcaraan komputer mengandungi pembolehubah dan pemalar yang memperuntukkan lokasi memori unik, yang mengandungi maklumat untuk digunakan oleh atur cara. Nilai malar tidak boleh diubah tetapi nilai pembolehubah boleh diubah. Pembolehubah persekitaran ialah pasangan kunci/nilai yang nilainya ditetapkan di luar program dan rujukannya sentiasa tersedia untuk program pada bila-bila masa. Kedua-dua kunci dan nilai adalah rentetan. Konvensyen untuk menetapkan dan menggunakan pembolehubah persekitaran sentiasa berbeza antara sistem pengendalian dan penterjemah baris arahan. Mereka sentiasa tersedia secara global untuk setiap aplikasi yang dijalankan pada sistem.

Contoh


PATH = "C:\\WINDOWS\system32;"
Di sini, Path ialah pembolehubah persekitaran yang ditetapkan di luar program tetapi tersedia untuk setiap program yang dijalankan pada tingkap.

Use Case

Seperti yang kita tahu setiap perubahan dalam program perlu dilaksanakan atau digunakan semula ke pelayan yang mungkin menghasilkan kesan sampingan yang tidak diingini dalam pengeluaran. Jadi tujuan utama memperkenalkan pembolehubah persekitaran adalah untuk menyekat pelaksanaan dan penggunaan ini berulang kali.

Bagaimana Untuk Mendapatkan Pembolehubah Persekitaran di Java?

Mari lihat bagaimana untuk mendapatkan pembolehubah persekitaran dalam java. Java memberi kita 2 cara untuk mendapatkan pembolehubah persekitaran dalam program Java.
  1. System.getenv()

  2. System.getProperty()

Sekarang mari kita lihat kedua-duanya secara terperinci satu persatu.

System.getenv()

Kaedah System.getenv () digunakan untuk mengambil semua pembolehubah persekitaran tetapi jika nama kunci tertentu disediakan sebagai parameter maka ia akan mengambil nilainya. java.lang.System.getenv() sentiasa mengembalikan peta rentetan semua pembolehubah persekitaran yang tersedia.

Pengisytiharan


public static String getenv(String name)
Di sini, nama ialah parameter yang digunakan untuk menentukan kunci yang kami perlukan nilainya.

Kembali

Ia akan mengembalikan nilai kunci atau null jika parameter yang disediakan tidak dikaitkan dengan sebarang kunci. Jika parameter tidak diluluskan maka ia akan mengembalikan semua pasangan kunci/nilai yang tersedia.

Contoh


import java.util.Map;
public class SystemGetEnvDemo {

   public static void main(String[] args) {

      // getting value for environment variable "PATH"
      System.out.print("System.getenv(PATH) = ");
      System.out.println(System.getenv("PATH"));

      // getting value for environment variable "TEMP" resulting in null
      System.out.print("System.getenv(TEMP) = ");
      System.out.println(System.getenv("TEMP"));
      
      //getting all environment variables using System.getenv()
      Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n",
                              envName,
                              env.get(envName));
        }
   }
}

Pengeluaran

System.getenv(PATH) = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin System.getenv(TEMP) = null PATH=/usr/local /sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PROGRAMIZ_COMPILER_SERVICE_HOST=10.0.10.151 KUBERNETES_PORT=tcp://10.0.0.1:443 PROGRAMIZ_COMPILER_PORT://10.50.p. :80 ISTILAH=xterm PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=10.0.0.1 PS1= PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PORTIZ_COMPIL_80_TCP_PORTIZ_COMPIL_WEV_80_TCP_PORTIZ_COMPIL_80_COMPIL_80_TCP_PORTIZ_8_0TC_PGUI_PORTIZ_BTC_PGUI_PORTIZ_8_0TC_P. ADDR=10.0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP=tcp://10.0.10.151:80 PROGRAMIZ_COMPILER_PORT_80_TCP_PROTO=tcp PWD=/app KUBERNETES_PORT_443_TCP=tcp.10.://tcp.1. :443 PROGRAMIZ_COMPILER_PORT_80_TCP_ADDR=10.0.10.151 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT=tcp://10.0.14.233:80 KUBERNETES_PORT_443_TCP_ADDR.10.0.14.000 _HOST=10.0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP_PORT=80 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_PORT=443 PROGRAMIZ_COMPILER_SERVICE_PORT=80 PROGRAMIZ_COMPILER_COMPILER_WEB_P_200. 3:80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_comHOPIER=44/home
Anda mungkin mendapat output yang berbeza bergantung pada sistem pengendalian anda.

System.getProperty()

Kami juga boleh menggunakan java.lang.System.getProperty() dalam Java untuk mendapatkan semula nilai bagi kunci yang ditentukan yang diluluskan sebagai parameter kepada kaedah ini. Kaedah ini digunakan untuk mendapatkan semula sifat sistem, iaitu maklumat tentang sistem dan konfigurasi setempat. Jika pembolehubah persekitaran hadir sebagai sifat sistem dalam java maka lebih baik menggunakan System.getProperty() untuk mendapatkan nilai dalam cara bebas platform. Nilai untuk sifat boleh diubah pada masa jalan tetapi tidak berlaku dengan pembolehubah persekitaran.

Pengisytiharan


public String getProperty(String name)
Di sini, nama ialah parameter yang digunakan untuk menentukan kunci yang kami perlukan nilainya.

Kembali

Ia akan mengembalikan nilai kunci atau null.

Contoh


import java.lang.*; 
import java.util.Properties; 

public class SystemGetPropertyDemo { 
    public static void main(String[] args) 
    { 
        // getting username system property 
       // using System.getProperty in Java
        System.out.println("user.name: " +  System.getProperty("user.name")); 
        // getting property with key home resulting in null
        // calling system.getproperty()
        System.out.println("home: " + System.getProperty("home")); 
        // getting name of Operating System 
        System.out.println("os.name: " + System.getProperty("os.name")); 
    }
}

Pengeluaran

nama pengguna: rumah pengkompil: null os.name: Linux

Kesimpulan

Kami berharap sekarang anda memahami apa itu dan cara mendapatkan pembolehubah persekitaran dalam java, tujuannya, dan cara menggunakan kaedah untuk mendapatkannya. Jangan ragu untuk berlatih dan kembali apabila anda memerlukan lebih banyak bantuan. Selamat belajar!
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION