سؤال

كيف يمكنني الحصول على موقع ملف المضيفين عند استخدام طلبي على منصات مختلفة؟

هل كانت مفيدة؟

المحلول

أعتقد أنه سيتعين عليك أن تدحرجك هنا ، أخشى ، لأن هذه وظيفة نظام منخفض المستوى ، أعتقد أنه يتجاوز قليلاً ما يمكن أن تتوقع أن تفعله 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);
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top