编码错误,生成的文件无法找开

编码错误,生成的文件无法找开

package fileinput_pac;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class iodemo {
    public static void main(String[] args) {
//         1、用FileOutputStream写one;
//         2、用BufferedOutputStream写two;
//         3、写100000个字符,可以使用for循环一次写入一个。
        
        File one = new File("/Users/Dick/Downloads/one.txt");
        long st1 = System.currentTimeMillis();
        try {
            FileOutputStream fos1 = new FileOutputStream(one);
            for (int i = 0; i < 100000; i++) {
                fos1.write(i);
            }
            fos1.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            
        }
        long et1 = System.currentTimeMillis();
        System.out.println("one不用缓冲流来写/n用时为:" + (et1 - st1));
        
        File two = new File("/Users/Dick/Downloads/two.txt");
        long st2 = System.currentTimeMillis();
        try {
            FileOutputStream fos2 = new FileOutputStream(two);
            BufferedOutputStream bos2 = new BufferedOutputStream(fos2);
            for (int i = 0; i < 100000; i++) {
                bos2.write(i);
            }
            bos2.flush();
            bos2.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        long et2 = System.currentTimeMillis();
        System.out.println("two使用缓冲流来写/n用时为:" + (et2 - st2));
        System.out.println("用缓冲流来写节省了" + ((et1 - st1)-(et2 - st2)) + "ms");
    }
}

这样创建的txt文件无法打开,提示http://img1.sycdn.imooc.com//climg/5bd8745f0001669804200155.jpg正确的方式请问是怎么样的?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
微笑q20 2018-11-09 11:45:01

先将txt文件再eclipse中输入进去,再复制到计算机里面去,然后读写操作设置编码格式GBK,就可以ok

好帮手慕阿满 2018-11-02 10:26:19

建议同学自己创建txt文本文档,然后再写入文件,或者写入文件后将文本文档拖进eclipse编辑器看能不能打开。祝:学习愉快!

好帮手慕雪 2018-10-31 10:26:26

没问题,可以打开文件的。只不过打开是乱码而已。或者你把fos1.write(i);换成fos1.write('a');再试试。祝:学习愉快

  • 提问者 慕少8440760 #1
    换成fos1.write('a'),打印出来的就是全部字母a。那如果我就是要在文件里写入数字1至10万呢?该怎么处理?
    2018-11-01 20:20:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师