Есть ли способ создать FileInputStream с функцией маркировки?

Есть ли способ создать FileInputStream с поддержкой знака как true?

Ответы

Ответ 1

Оберните свой Fileinputstream внутри BufferedInputStream.

Буферизованные потоки поддерживают метки.

Ответ 2

Оберните его в BufferedInputStream.

вместо

FileInputStream fis = new FileInputStream(...);

сделайте следующее:

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(...));

и используйте bis вместо fis; ничто не должно измениться в вашем коде.

Ответ 3

BufferedInputStreams не являются волшебными. Они будут поддерживать только маркеры размером с базовые буферы, и эти буферы будут занимать память. Поэтому, если вы спуститесь по этому маршруту, важно, чтобы вы поняли пример использования и потенциально вызвали конструктор BufferedInputStream с соответствующим размером буфера. Если основной файл начинает становиться большим, и вы отмечаете достаточно далеко, тогда эта техника может не сработать для вас.

Ответ 4

Попробуйте что-то вроде этого

public FileInputStream fstream;
public DataInputStream in;
public BufferedInputStream bs;
public String path;

public void myExample() throws IOException{
    path = "yourPath";
    try {
        fstream = new FileInputStream(path);
        in = new DataInputStream(fstream);
        bs = new BufferedInputStream(new InputStreamReader(in));

        //do something

        br.close(); //when do something is completed
        } catch (FileNotFoundException ex) {
        JOptionPane.showMessageDialog(null, "File not found");
        }
        }