জাভা 7+ তে পূর্বের কয়েকটি উত্তরকে একত্রিত করা যেতে পারে কেবল শেষ বিভাগটির চেয়ে কোনও ইউআরআই থেকে কোনও পাথ বিভাগকে পুনরুদ্ধার করার অনুমতি দিতে । java.nio.file.Path
এর getName(int)
পদ্ধতির সুবিধা নিতে আমরা কোনও আইআরআইকে রূপান্তর করতে পারি ।
দুর্ভাগ্যক্রমে, স্থিতিশীল কারখানাটি Paths.get(uri)
এইচটিপি স্কিমটি পরিচালনা করার জন্য নির্মিত হয়নি, সুতরাং আমাদের প্রথমে ইউআরআইয়ের পথ থেকে স্কিমটি পৃথক করা দরকার।
URI uri = URI.create("http://base_path/some_segment/id");
Path path = Paths.get(uri.getPath());
String last = path.getFileName().toString();
String secondToLast = path.getName(path.getNameCount() - 2).toString();
কোডের এক লাইনে শেষ বিভাগটি পেতে, উপরের রেখাগুলি কেবল নীড় করে।
Paths.get(URI.create("http://base_path/some_segment/id").getPath()).getFileName().toString()
সূচী সংখ্যাগুলি এবং একের পর এক ত্রুটির সম্ভাবনাগুলি এড়িয়ে গিয়ে দ্বিতীয় থেকে শেষ বিভাগটি পেতে, getParent()
পদ্ধতিটি ব্যবহার করুন ।
String secondToLast = path.getParent().getFileName().toString();
দ্রষ্টব্য getParent()
বিপরীত ক্রমে বিভাগগুলি পুনরুদ্ধার করতে পদ্ধতিটিকে বারবার বলা যেতে পারে। এই উদাহরণে, পাথটিতে কেবলমাত্র দুটি বিভাগ রয়েছে, অন্যথায় কল getParent().getParent()
করলে তৃতীয় থেকে শেষ অংশটি পুনরুদ্ধার করা যায়।