已经保存到数据流为byte[] fileByte。将byte[] 数组直接写入文件后,发现txt文件格式在安卓上会乱码。
最终找到原因:win系统的txt文件--【1】-->byte[] file--【2】-->写入file--【3】--->保存为TXT---【4】--->安卓打开为乱码
问题出在【2】上面。
因为win中txt默认编码为ANSI,而安卓手机仅支持utf-8的浏览。
我们需要在写入文件的时候使用
{ 中间件 (先用String将byte[]转换编码,eclipse打印可以识别时,再将String转换成utf-8类型的byte[],在对文件进行写入) }
将编码进行转换。
例如:已知byte[] byte;
txt = new String(byte, "GBK");
byte= txt.getBytes("utf-8");
最后将这个byte写入txt文件就不会出现乱码了。
折腾了大半天,弄懂的时候才豁然开朗。