int x;
byte y[]=new byte[1024]; try
{ File file=new File("文档.txt");
FileInputStream fileread=new FileInputStream(file);
while((x=fileread.read(y,0,1024))!=-1)
{ String s=new String(y); } } catch(IOException e)
{
} 问题是: 为什么byte[]数组长度无论设成2,512,1024等都会出现一些乱码,好像文件文字越多,要设成的大小就要越大,请问要怎样设置才可以无论文件多大,都可以正确显示出文本全部内容啊? 还有请解释一下这个错误原因~ 请高手们来帮忙~
byte y[]=new byte[1024]; try
{ File file=new File("文档.txt");
FileInputStream fileread=new FileInputStream(file);
while((x=fileread.read(y,0,1024))!=-1)
{ String s=new String(y); } } catch(IOException e)
{
} 问题是: 为什么byte[]数组长度无论设成2,512,1024等都会出现一些乱码,好像文件文字越多,要设成的大小就要越大,请问要怎样设置才可以无论文件多大,都可以正确显示出文本全部内容啊? 还有请解释一下这个错误原因~ 请高手们来帮忙~
解决方案 »
- 新人求助关于this的使用
- 一个项目为什么在服务器部署后修改不起效
- 一个关于 更改图片的问题(务必指教)
- java 传进的参数值变了,但程序确没反映
- 一个技术难题,实在是不会了,希望好心人帮忙!!!
- 电影管理系统中的问题??急!!
- java的md5加密,长度居然会变呀?.微软的就16位或者32位,怎么办?不一样啊
- 在上海 徐家汇 或 延安西路/番禺路 附近上班的兄弟请进
- 请教高手如何有效阅读开源项目源代码?
- 大家谁能帮助我解决下面这个java入门问题。我编译好再运行就这样子怎么回事?
- 问一下FileInputStream 和FileReader 的区别
- '\r'与'\n'到底有何区别啊?请高手指教!
使用readUTF来读取啊
可以使用fileread.available()得到流的长度!用他取代1024这样应该就没有问题了!
没时间试 ,你试试!
String s;
whlie((s=bufferedReader)!=null){
System.out.println(s);
}
bufferedReader.close();
要读取指定编码的文件需要
FileInputStream 和InputStreamReader(fis,charSet)
来读取FileInputStream is meant for reading streams of raw bytes such as image data.
按照原始字节读取
说以说字符编码超过127就不对了(乱码)