大家好,又见面了,我是你们的朋友全栈君。
使用如下代码测试:
InputStream is = new FileInputStream(new File(“C:\\Users\\Administrator\\Desktop\\test1.txt”));
byte [] bs = new byte[4096];
int len = is.read(bs);
System.out.print(len);
for(byte b : bs){
System.out.print(b + “,”);
}
System.out.println();
is = new FileInputStream(new File(“C:\\Users\\Administrator\\Desktop\\test2.txt”));
bs = new byte[4096];
len = is.read(bs);
System.out.print(len);
for(byte b : bs){
System.out.print(b + “,”);
}
其中,test1.txt文件的编码方式为GBK(在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码)
test2.txt编码方式为UTF-8
运行结果输出为:
Java的FileInputStream默认的编码方式就是文件的编码方式。
另外,如下代码:
InputStream is = new FileInputStream(new File(“C:\\Users\\Administrator\\Desktop\\test1.txt”));
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(new File(“C:\\Users\\Administrator\\Desktop\\test11.txt”)));
byte[] bs = new byte[1024];
int len = 0;
while ((len = bis.read(bs)) != -1) {
bos.write(bs, 0, len);
}
这里读取test1.txt的数据直接写入到test11.txt,中间没有做任何编码转换,所以写完之后test1.txt文件的编码就是test1.txt的编码格式。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138908.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...