Java FilterReader.markSupported()方法

原文:https://www.studytonight.com/java-file-io/java-filterreader-marksupported-method

在本教程中,我们将学习 JavaFilterReader 类的markSupported()方法。该方法验证该FileReader流是否支持mark()方法的操作。这是一个非静态方法,在 java.io 包中可用。它只能使用类对象来访问,因为试图用类名来访问它会抛出一个 IOException。

句法

这是此方法的语法声明。不需要参数。该方法的返回类型为布尔型,表示支持mark()方法则返回 true,否则返回 false。

public boolean markSupported()

示例 1:过滤器读取器中的标记支持

markSupported()方法用于检查当前缓冲区是否支持 mark()方法,在当前示例中,我们首先检查该方法是否支持 mark()方法,然后在流中的当前位置设置标记,这样可以避免可能的错误。

import java.io.FileReader;
import java.io.FilterReader;
import java.io.Reader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            Reader reader = new FileReader("E:\\studytonight\\output.txt");  
            FilterReader filterReader = new FilterReader(reader) {};  
            int i;  
            while ((i = filterReader.read()) != -1) {  
                System.out.print((char) i);  
            }  
            filterReader.close();  
            reader.close();  
        }
        catch(Exception e)
        {
            System.out.println("Error: "+e.toString());
        }
    }
}

你好,今晚学习

输出. txt

Hello Studytonight

示例 1:过滤器读取器中的标记支持

这是上面程序的简化版本,这里我们正在检查当前缓冲区是否支持 mark()方法,那么 markSupported()方法将返回true 值,否则将返回false 值。

import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            Reader reader = new StringReader("Hello Studeytonight"); 
            FilterReader fileReader = new FilterReader(reader){};

            boolean isSupported = fileReader.markSupported();

            System.out.println("The Stream Supports the mark() method: "+isSupported);

            fileReader.close(); 
        }
        catch(Exception e)
        {
            System.out.print("Error: "+e.toString());
        }
    } 
}

流支持标记()方法:真

结论

在本教程中,我们学习了 JavaFilterReader 类的markSupported()方法,用于检查当前流是否支持mark()方法。如果是,则返回真,否则返回假。