Java InputStreamReader.getEncoding()
方法
原文:https://www.studytonight.com/java-file-io/inputstreamreader-getencoding-method-in-java
在本教程中,我们将学习 Java 中 InputStreamReader 类的getEncoding()
方法。此方法提供当前流使用的字符编码的名称。如果流使用的是历史编码名称,它将返回该名称,否则,它将返回流的规范编码名称。
句法
下面是这个方法的语法声明。它不接受任何参数,并返回编码、历史或规范、流使用的名称,如果流关闭,则返回空值。
public String getEncoding()
示例 1:用 Java 编码InputStreamReader
在这个例子中,我们正在学习InputStreamReader
课的 getEncoding()
方法。此方法将返回给定InputStreamReader
的字符编码。如果在这种情况下没有明确提到编码,它将返回默认编码。在这个例子中,我们将编码设置为 UTF8,我们可以在输出中看到它
package studytonight;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class StudyTonight
{
public static void main(String args[])
{
try{
FileInputStream file = new FileInputStream("E:\\studytonight\\output.txt");
InputStreamReader reader = new InputStreamReader(file, Charset.forName("UTF8"));
System.out.println("Character Encoding of the reader is: "+reader.getEncoding());
}
catch (Exception e) {
System.out.print("Error: "+e.toString());
}
}
}
读取器的字符编码为:UTF8
示例 2:用 Java 编码InputStreamReader
。如果我们没有为流设置编码,那么这个方法将返回默认的编码,在这个例子中,我们没有设置任何编码,但是它返回了Cp1252
,因为它被默认分配给了流。
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class StudyTonight
{
public static void main(String args[])
{
try
{
FileInputStream file = new FileInputStream("E:\\studytonight\\output.txt");
InputStreamReader reader = new InputStreamReader(file);
System.out.println("Character Encoding of the reader is: "+reader.getEncoding());
}
catch (Exception e)
{
System.out.print("Error: "+e.toString());
}
}
}
读取器的字符编码为:Cp1252
结论
在本教程中,我们将学习 Java 中 InputStreamReader 类的getEncoding()
方法,该方法用于获取流使用的字符编码,该编码可能是历史的,也可能是规范的,具体取决于此。