CodeGym /Java Blogu /Rastgele /Java'da Ortam değişkenlerini alın
John Squirrels
Seviye
San Francisco

Java'da Ortam değişkenlerini alın

grupta yayınlandı

Ortam Değişkenleri nedir?

Her bilgisayar programlama dili, programlar tarafından kullanılacak bilgileri içeren benzersiz bellek konumlarını tahsis eden değişkenler ve sabitler içerir. Sabit değerler değiştirilemez ancak değişkenin değeri değiştirilebilir. Ortam değişkenleri, değeri programın dışında belirlenen anahtar/değer çiftidir ve bunların referansı her zaman program tarafından kullanılabilir. Hem anahtar hem de değer dizelerdir. Ortam değişkenlerini ayarlama ve kullanma kuralları, işletim sistemleri ve komut satırı yorumlayıcıları arasında her zaman farklılık gösterir. Sistemde çalışan her uygulama için her zaman küresel olarak kullanılabilirler.

Örnek


PATH = "C:\\WINDOWS\system32;"
Burada Yol , programın dışında ayarlanan ancak pencerelerde çalışan her program için kullanılabilen ortam değişkenidir.

Kullanım Örneği

Bildiğimiz gibi, programdaki her değişikliğin yürütülmesi veya sunucuda yeniden konuşlandırılması gerekir, bu da üretimde istenmeyen yan etkilere neden olabilir. Bu nedenle, ortam değişkenlerini tanıtmanın temel amacı, bu yürütmeyi ve konuşlandırmayı tekrar tekrar kısıtlamaktır.

Java'da Ortam Değişkenleri Nasıl Elde Edilir?

Java'da ortam değişkenlerinin nasıl alınacağını görelim. Java, Java programında ortam değişkenlerini almamız için bize 2 yol sağlar.
  1. System.getenv()

  2. System.getProperty()

Şimdi her ikisini de tek tek detaylı olarak görelim.

System.getenv()

System.getenv () yöntemi, tüm ortam değişkenlerini getirmek için kullanılır, ancak parametre olarak belirli bir anahtar adı sağlanırsa, değerini getirir. java.lang.System.getenv() her zaman tüm kullanılabilir ortam değişkenlerinin dize eşlemesini döndürür.

beyanname


public static String getenv(String name)
Burada name, değere ihtiyacımız olan anahtarı belirtmek için kullanılan parametredir.

Geri dönmek

Sağlanan parametre herhangi bir anahtarla ilişkili değilse, anahtarın değerini veya null değerini döndürür. Parametre iletilmezse, mevcut tüm anahtar/değer çiftlerini döndürür.

Örnek


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

Çıktı

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=tcp://10.0.10.151 :80 TERM=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_PORT=80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_AD DR=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.0.0.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.0.1 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_ 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_WEB_UI_SEVICE_PORT_80_TCP=tcp://10.0.14.2 33:80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 HOME=/home/compiler
İşletim sisteminize bağlı olarak farklı bir çıktı alabilirsiniz.

System.getProperty()

Bu yönteme parametre olarak iletilen belirtilen anahtarın değerini almak için Java'da java.lang.System.getProperty() işlevini de kullanabiliriz . Bu yöntem, sistem özelliklerini, yani yerel sistem ve yapılandırmalar hakkındaki bilgileri almak için kullanılır. Ortam değişkeni java'da bir sistem özelliği olarak mevcutsa, platformdan bağımsız bir şekilde değer elde etmek için System.getProperty()'yi kullanmak daha iyidir. Özelliklerin değeri çalışma zamanında değiştirilebilir, ancak ortam değişkenlerinde durum böyle değildir.

beyanname


public String getProperty(String name)
Burada name, değere ihtiyacımız olan anahtarı belirtmek için kullanılan parametredir.

Geri dönmek

Anahtarın değerini veya null değerini döndürür.

Örnek


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")); 
    }
}

Çıktı

kullanıcı.adı: derleyici ana sayfası: boş os.adı: Linux

Çözüm

Java'da ortam değişkenlerinin ne olduğunu ve nasıl alınacağını, amaçlarını ve bunları elde etmek için yöntemlerin nasıl kullanılacağını şimdiye kadar anladığınızı umuyoruz. Pratik yapmaktan çekinmeyin ve daha fazla yardıma ihtiyacınız olduğunda geri dönün. Mutlu öğrenme!
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION