个人对IO流中字节流的粗浅认知

字节流:InputStream(读数据),OutputStream(写数据)

InputStream(读数据)

package com.lenovo.io.demo;

/*
*读取D盘下Lenovo文件夹study.txt文件内容
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class InputStreamDemo {

    public static void main(String[] args) {
        try {
        //选择所读文件路径
            FileInputStream input=new FileInputStream("d:/lenovo/study.txt");
            int n=input.read();
            while(n>-1){
                System.out.print((char)n);
                n=input.read();
            }
            input.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

这里写图片描述

study文件内有两句话
这里写图片描述
其中英语字母是一个字节,可以正常读取,而一个汉字占两个字节,所以无法读取,就会出现一些特别符号

OutputStream(写数据)

package com.lenovo.io.demo;
/*
*向D盘下Lenovo文件夹study.txt文件内输入内容
*/
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class OutputstreamDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
        //定义所输入内容
            String s="I love java";
    //选择输入路径
            FileOutputStream output=new FileOutputStream("d:/lenovo/study.txt");
            output.write(s.getBytes());
            output.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

运行后会发现study内的两句话已经被“I love Java”取代了
这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/source_sc/article/details/72633930