Java文件流读取出现乱码

时间:2023-01-29 21:00:02
文件流中的“伤不起.mp3”被读成“伤不�?mp3”是什么原因?为什么只有“起”变成乱码?

11 个解决方案

#1


是码制的问题?如果是那是哪两种码制之间的呢?

#2


从文件中读数据都出来的是乱码的话,我猜测是你用的是字节流的方式去读取的,这样就会造成乱码,用字符流就不会了

#3


GBK 编码问题

#4


转码问题,试试在UTF8和GBK编码之间互相转换一下

#5


引用 2 楼 chianfirstli 的回复:
从文件中读数据都出来的是乱码的话,我猜测是你用的是字节流的方式去读取的,这样就会造成乱码,用字符流就不会了

出现乱码的部分是:
  BufferedReader in = new BufferedReader(new InputStreamReader(cmdSocket.getInputStream()), 8192); // use 8k bufferw
cmdSocket是Socket的对象,InputStreamReader就是字符流啊,是那部分出了问题呢?谢谢

#6


引用 4 楼 ncuboy045wsq 的回复:
转码问题,试试在UTF8和GBK编码之间互相转换一下

不是这个原因,试过了

#7


引用 3 楼 zdnuist 的回复:
GBK 编码问题

能说的详细一点吗?谢谢

#8


可以用字符流读出来,

#9


引用 8 楼 wang7535067 的回复:
可以用字符流读出来,
能具体一点吗?

#10


BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("e:/test.txt")));

test.txt,里面是“伤不起.mp3”,我在我这边试了一下,没问题啊!!

#11


是cmdSocket.getInputStream()的出了问题

#1


是码制的问题?如果是那是哪两种码制之间的呢?

#2


从文件中读数据都出来的是乱码的话,我猜测是你用的是字节流的方式去读取的,这样就会造成乱码,用字符流就不会了

#3


GBK 编码问题

#4


转码问题,试试在UTF8和GBK编码之间互相转换一下

#5


引用 2 楼 chianfirstli 的回复:
从文件中读数据都出来的是乱码的话,我猜测是你用的是字节流的方式去读取的,这样就会造成乱码,用字符流就不会了

出现乱码的部分是:
  BufferedReader in = new BufferedReader(new InputStreamReader(cmdSocket.getInputStream()), 8192); // use 8k bufferw
cmdSocket是Socket的对象,InputStreamReader就是字符流啊,是那部分出了问题呢?谢谢

#6


引用 4 楼 ncuboy045wsq 的回复:
转码问题,试试在UTF8和GBK编码之间互相转换一下

不是这个原因,试过了

#7


引用 3 楼 zdnuist 的回复:
GBK 编码问题

能说的详细一点吗?谢谢

#8


可以用字符流读出来,

#9


引用 8 楼 wang7535067 的回复:
可以用字符流读出来,
能具体一点吗?

#10


BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("e:/test.txt")));

test.txt,里面是“伤不起.mp3”,我在我这边试了一下,没问题啊!!

#11


是cmdSocket.getInputStream()的出了问题