deteksi sistem operasi pada java

mengawali oktober dengan berbagi.

bikin program pake java, salah satu keuntungannya adalah, sekali build, hasilnya bisa dipakai pada sistem operasi yang berbeda. tapi ada hal-hal yang harus diantisipasi juga. contoh kasus: saat menggunakan file untuk menyimpan data (misalnya konfigurasi), terutama pada folder yg berbeda atau sub folder dari folder program. membaca file konfigurasi biasanya menggunakan “\\” untuk membaca folder pada windows, tetapi menggunakan “/” pada linux.

salah satu solusi adalah mendeteksi sistem operasi apa yang digunakan kemudian menyesuaikan string yang berisi nama file. fungsi untuk mendeteksi sistem operasi, cukup satu baris, yang bisa disimpan pada sebuah string.

[java]String OS = System.getProperty(“os.name”).toLowerCase();[/java]

langkah selanjutnya mencari tulisan “win” atau “linux” atau yg lainnya untuk mengetahui sistem operasi yg dipakai.
rangkaian proses ini bisa dituliskan dalam fungsi dengan nilai booleh, misalnya :

[java]public static boolean isWindowsOS(){
String OS = System.getProperty(“os.name”).toLowerCase();
return OS.contains(“win”);
}

public static boolean isLinuxOS(){
String OS = System.getProperty(“os.name”).toLowerCase();
return OS.contains(“linux”);
}[/java]

dengan demikian fungsi tersebut bisa digunakan sebelum membaca file konfigurasi, misalnya :

[java]fileName = “conf\\server.ddpp”;
if (isLinuxOS()) fileName = “conf/server.ddpp”;
readConfiguration();[/java]

bisa juga pakai fungsi replace(…) , atau cara lain untuk mengubah isi string.

sekedar berbagi hasil coba-coba, mungkin ada yang membutuhkan.

gambar :
https://netbeans.org/images_www/v7/design/overview/code_editing.png
http://videos.web-03.net/artigos/Destaques/Java/Java_05.jpg

Leave a Reply

Your email address will not be published.