الحصول على موقع ملف المضيفين في جافا
-
27-09-2019 - |
سؤال
كيف يمكنني الحصول على موقع ملف المضيفين عند استخدام طلبي على منصات مختلفة؟
المحلول
أعتقد أنه سيتعين عليك أن تدحرجك هنا ، أخشى ، لأن هذه وظيفة نظام منخفض المستوى ، أعتقد أنه يتجاوز قليلاً ما يمكن أن تتوقع أن تفعله Java من أجلك.
هذا الرابط يشير إلى بعض الخيارات الخاصة التي يمكنك ضبطها لتغيير ترتيب الربط ، لا أعتقد أنهم سيخبركون بمكان ملف المضيف ، ولكن يمكنك التحقيق في هذه الخيارات وحولها لمعرفة ما إذا كان يمكنك العثور على أي شيء آخر اساعدك
نصائح أخرى
يمكنك استخدام خاصية نظام "OS.NAME" لتحديد نظام التشغيل. بعد ذلك ، استرجع ملف المضيفين اعتمادًا على المكان الذي يخزنه كل نظام تشغيل. فمثلا:
String osName = System.getProperty("os.name").toLowerCase();
File hostsFile;
if (osName.startsWith("mac os x")){
hostFile = new File("/etc/hosts");
} else if (osName.contains("windows")){
hostFile = //...
}
ألقِ نظرة على مواقع ملفات المضيفين لكل نظام تشغيل وإصدار ويكيبيديا. لسوء الحظ ، سيتعين عليك تنفيذ منطقك على غرار إجابة مايكل:
import java.awt.Desktop;
import java.io.File;
public class HostsFile
{
public static void main(String[] args) throws Exception
{
String osName = System.getProperty("os.name");
File hostsFile = null;
if (osName.contains("Windows"))
{
hostsFile = new File(System.getenv("WinDir")
+ "\\system32\\drivers\\etc\\hosts");
}
Desktop.getDesktop().open(hostsFile);
}
}
لا تنتمي إلى StackOverflow