উত্তরটি "না" ... এবং "হ্যাঁ" বলে মনে হচ্ছে। অন্য কোনও অ্যাপ্লিকেশন দ্বারা কোনও ফাইল লেখার জন্য খোলা আছে কিনা তা জানার কোনও আসল উপায় নেই বলে মনে হয়। সুতরাং, বিষয়বস্তু নিঃশেষ না হওয়া পর্যন্ত এই জাতীয় ফাইল থেকে পড়া কেবল অগ্রগতি করবে। আমি মাইকের পরামর্শ নিয়ে কিছু পরীক্ষার কোড লিখেছিলাম:
Writer.java ফাইলের জন্য একটি স্ট্রিং লিখে তারপরে ফাইলটি অন্য একটি লাইন লেখার আগে ব্যবহারকারীর প্রবেশের জন্য অপেক্ষা করে। ধারণাটি এই যে এটি শুরু করা যেতে পারে, তবে একটি পাঠক এটি "আংশিক" ফাইলটি কীভাবে কপি করে তা দেখতে শুরু করা যেতে পারে। আমি যে পাঠকটি লিখেছি তা রিডার.জভাতে রয়েছে।
Writer.java
public class Writer extends Object
{
Writer () {
}
public static String[] strings =
{
"Hello World",
"Goodbye World"
};
public static void main(String[] args)
throws java.io.IOException {
java.io.PrintWriter pw =
new java.io.PrintWriter(new java.io.FileOutputStream("out.txt"), true);
for(String s : strings) {
pw.println(s);
System.in.read();
}
pw.close();
}
}
পাঠক.জভা
public class Reader extends Object
{
Reader () {
}
public static void main(String[] args)
throws Exception {
java.io.FileInputStream in = new java.io.FileInputStream("out.txt");
java.nio.channels.FileChannel fc = in.getChannel();
java.nio.ByteBuffer bb = java.nio.ByteBuffer.allocate(10);
while(fc.read(bb) >= 0) {
bb.flip();
while(bb.hasRemaining()) {
System.out.println((char)bb.get());
}
bb.clear();
}
System.exit(0);
}
}
এই কোডটি সর্বোত্তম অনুশীলনের কোনও গ্যারান্টি নেই।
এটি ফাইল থেকে নতুন ডেটা পড়ার দরকার আছে কিনা তা পর্যায়ক্রমিকভাবে পরীক্ষা করার জন্য মাইকের প্রস্তাবিত বিকল্পটি ছেড়ে যায়। এরপরে পাঠকটি সম্পূর্ণরূপে নির্ধারিত হয়ে গেলে ফাইল রিডারটি বন্ধ করতে ব্যবহারকারীর হস্তক্ষেপের প্রয়োজন requires অথবা, পাঠককে ফাইলের বিষয়বস্তু সম্পর্কে সচেতন করা প্রয়োজন এবং লেখার শর্তটি নির্ধারণ এবং শেষ করতে সক্ষম হতে হবে। বিষয়বস্তুটি যদি এক্সএমএল হয়, তবে ডকুমেন্টের শেষটি এটি ব্যবহার করতে পারে to