আমার কাছে .gz ফর্ম্যাটে একটি ফাইল রয়েছে। এই ফাইলটি পড়ার জন্য জাভা ক্লাসটি জিজেআইপিআইএনপুট স্ট্রিম। যাইহোক, এই শ্রেণিটি জাভা বাফার্ডারিডার ক্লাসটি বাড়ায় না। ফলস্বরূপ, আমি লাইন দ্বারা ফাইল লাইন পড়তে সক্ষম নই। আমার এরকম কিছু দরকার
reader = new MyGZInputStream( some constructor of GZInputStream)
reader.readLine()...
আমি যদিও আমার ক্লাস তৈরির ক্ষেত্রে যা জাভাটির পাঠক বা বাফারড্রিডার শ্রেণি প্রসারিত করে এবং এর এক পরিবর্তনশীল হিসাবে GZIPInputStream ব্যবহার করি।
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.util.zip.GZIPInputStream;
public class MyGZFilReader extends Reader {
private GZIPInputStream gzipInputStream = null;
char[] buf = new char[1024];
@Override
public void close() throws IOException {
gzipInputStream.close();
}
public MyGZFilReader(String filename)
throws FileNotFoundException, IOException {
gzipInputStream = new GZIPInputStream(new FileInputStream(filename));
}
@Override
public int read(char[] cbuf, int off, int len) throws IOException {
// TODO Auto-generated method stub
return gzipInputStream.read((byte[])buf, off, len);
}
}
তবে, আমি যখন ব্যবহার করি তখন এটি কাজ করে না
BufferedReader in = new BufferedReader(
new MyGZFilReader("F:/gawiki-20090614-stub-meta-history.xml.gz"));
System.out.println(in.readLine());
কীভাবে কেউ পরামর্শ দিতে পারে ..