সিস্টেমের বৈশিষ্ট্যটি ব্যবহার করার একটি উপায় হ'ল এটি System.getProperty("user.dir");আপনাকে "বৈশিষ্ট্যগুলি আরম্ভ করার সময় বর্তমান ওয়ার্কিং ডিরেক্টরি" দেবে। এটি সম্ভবত আপনি চান খুঁজে বের করতে যেখানে javaকমান্ড প্রক্রিয়া ফাইলগুলির সাথে ডিরেক্টরির মধ্যে, জারি করা হয় আপনার ক্ষেত্রে, যদিও প্রকৃত জার ফাইল মেশিনে অন্য কোথাও রক্ষিত হতে পারে। আসল .jar ফাইলের ডিরেক্টরি থাকা বেশিরভাগ ক্ষেত্রেই এটি কার্যকর নয়।
নিম্নলিখিতটি বর্তমান ডিরেক্টরিটি মুদ্রণ করবে যেখান থেকে .class বা .jar ফাইলটি .class ফাইল থাকা আছে তা নির্বিশেষে কমান্ডটি চাওয়া হয়েছিল।
public class Test
{
public static void main(final String[] args)
{
final String dir = System.getProperty("user.dir");
System.out.println("current dir = " + dir);
}
}
আপনি যদি থাকেন /User/me/এবং উপরের কোডটি ধারণ করে আপনার .jar ফাইলটি /opt/some/nested/dir/
কমান্ডের java -jar /opt/some/nested/dir/test.jar Testআউটপুট দেয় current dir = /User/me।
আপনার কোনও ভাল অবজেক্ট ওরিয়েন্টেড কমান্ড লাইন আর্গুমেন্ট পার্সার ব্যবহার করে বোনাস হিসাবে দেখা উচিত। আমি জেএসএপি , জাভা সিম্পল আর্গুমেন্ট পার্সারকে উচ্চতর প্রস্তাব দিই । এটি আপনাকে ব্যবহার করতে দেয় System.getProperty("user.dir")এবং বিকল্পভাবে আচরণকে অতিরিক্ত চালানোর জন্য অন্য কোনও কিছুতে প্রেরণা দেয়। আরও অনেক রক্ষণাবেক্ষণ সমাধান। এটি ডিরেক্টরিতে পাস করার প্রক্রিয়াটি খুব সহজ করে দেয় এবং user.dirকিছুই পাস না করে পিছনে পড়তে সক্ষম হয় ।