参考链接:https://blog.csdn.net/anxinliu2011/article/details/7515676
用法如下:
package file;
import java.io.UnsupportedEncodingException;
public class streamInputTest {
public static void main(String[] args) throws UnsupportedEncodingException {
String str="中国";
byte[] all=str.getBytes("UTF-8");
String string=new String(all,"UTF-8");
System.out.println("string = " + string);
}
}
如果从一个文本文件test.txt中读取数据"中国",已知文本文件的编码方式是UTF-8,则可以读到字节数组中,再利用new String方法组装UTF-8规定的几个字节以组成一个汉字
//利用new String(byte[],"编码方式:UTF-8,GBK等")将从文件中读取的汉字转换回去
public class EncodeFileInputStreamTest {
public static void main(String[] args) {
File file=new File("D:/fileTest/test.txt");
try (FileInputStream fis = new FileInputStream(file)) {
byte[] all=new byte[(int)file.length()];
fis.read(all);
// for (byte b:all
// ) {
// int i=b&0x000000ff;
// System.out.println("Integer.toHexString(i) = " + Integer.toHexString(i));
// }
System.out.println("把这个数字转回去");
String str=new String(all,"UTF-8");
System.out.println("str = " + str);