2010-06-22 12 views
6

मुझे जावा का उपयोग कर मैक पर फ़ाइल के स्वामी के नाम को जानने की जरूरत है - मैं इसे प्राप्त करने के बारे में कैसे जा सकता हूं? धन्यवाद!ओएसएक्स पर जावा में फ़ाइल के मालिक का नाम मुझे कैसे प्राप्त किया जा सकता है?

उत्तर

4

यह एक बुरा है। फ़ाइल के मालिक को प्राप्त करने के लिए नहीं मानक विधि है (कम से कम जावा 6 सहित, जिसमें ओएसएक्स के लिए वर्तमान उत्पादन संस्करण है)। फ़ाइल का नाम stat पर कॉल को निष्पादित करने के लिए ProcessBuilder पर कॉल करने के लिए अभी सबसे आसान तरीका है, और इसके बाद परिणाम को पार्स करें जो सबप्रोसेस से मानक आउटपुट चैनल पर वापस आ जाएगा। परिणाम को पार्स करते समय देखभाल की जानी चाहिए क्योंकि ओएसएक्स पर उपयोगकर्ता नामों में रिक्त स्थान हो सकते हैं।

वैकल्पिक रूप से, जेएनआई का उपयोग करें।

16

Java 7 तक यह संभव नहीं है। जावा 7 के साथ, आप इसके लिए Files#getOwner() का उपयोग कर सकते हैं।

Path   path  = Paths.get("/path/to/file.ext"); 
UserPrincipal owner = Files.getOwner(path); 
String  username = owner.getName(); 

जावा 7 से पहले, आपकी सर्वश्रेष्ठ शर्त कुछ प्लेटफार्म देशी कोड के साथ संयोजन में कमांड या जेएनआई चला रही है।

यह भी देखें:

संबंधित मुद्दे

 संबंधित मुद्दे