其他分享
首页 > 其他分享> > 动手动脑(6)

动手动脑(6)

作者:互联网

1.输入流示例

import java.io.*;

public class FileInputStreamTest {

    public static void main(String[] args) throws IOException {
        //创建字节输入流
        FileInputStream fis = new FileInputStream("FileInputStreamTest.java");
        //创建一个长度为1024的“竹筒”
        byte[] bbuf = new byte[1024];
        //用于保存实际读取的字节数
        int hasRead = 0;
        //使用循环来重复“取水”过程
        while ((hasRead = fis.read(bbuf)) > 0) {
            //取出“竹筒”中水滴(字节),将字节数组转换成字符串输入!
            System.out.print(new String(bbuf, 0, hasRead));
        }
        fis.close();
    }
}
import java.io.*;

public class FileReaderTest
{
    public static void main(String[] args) throws IOException
    {
        FileReader fr = null;
        try
        {
            //创建字符输入流
            fr = new FileReader("FileReaderTest.java");
            //创建一个长度为32的“竹筒”
            char[] cbuf = new char[32];
            //用于保存实际读取的字符数
            int hasRead = 0;
            //使用循环来重复“取水”过程
            while ((hasRead = fr.read(cbuf)) > 0 )
            {
                //取出“竹筒”中水滴(字节),将字符数组转换成字符串输入!
                System.out.print(new String(cbuf , 0 , hasRead));
            }
        }
        catch (IOException ioe)
        {
            ioe.printStackTrace();
        }
        finally
        {
            //使用finally块来关闭文件输入流
            if (fr != null)
            {
                fr.close();
            }
        }
    }
}

2.输入流示例

import java.io.*;

public class FileOutputStreamTest {

    public static void main(String[] args) throws IOException {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            //创建字节输入流
            fis = new FileInputStream("FileOutputStreamTest.java");
            //创建字节输入流
            fos = new FileOutputStream("newFile.txt");
            byte[] bbuf = new byte[32];
            int hasRead = 0;
            //循环从输入流中取出数据
            while ((hasRead = fis.read(bbuf)) > 0) {
                //每读取一次,即写入文件输出流,读了多少,就写多少。
                fos.write(bbuf, 0, hasRead);
            }
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } finally {
            //使用finally块来关闭文件输入流
            if (fis != null) {
                fis.close();
            }
            //使用finally块来关闭文件输出流
            if (fos != null) {
                fos.close();
            }
        }
    }
}
import java.io.*;

public class FileReaderTest
{
    public static void main(String[] args) throws IOException
    {
        FileReader fr = null;
        try
        {
            //创建字符输入流
            fr = new FileReader("FileReaderTest.java");
            //创建一个长度为32的“竹筒”
            char[] cbuf = new char[32];
            //用于保存实际读取的字符数
            int hasRead = 0;
            //使用循环来重复“取水”过程
            while ((hasRead = fr.read(cbuf)) > 0 )
            {
                //取出“竹筒”中水滴(字节),将字符数组转换成字符串输入!
                System.out.print(new String(cbuf , 0 , hasRead));
            }
        }
        catch (IOException ioe)
        {
            ioe.printStackTrace();
        }
        finally
        {
            //使用finally块来关闭文件输入流
            if (fr != null)
            {
                fr.close();
            }
        }
    }
}

 

标签:fis,fr,hasRead,动脑,动手,new,null,输入
来源: https://www.cnblogs.com/ywqtro/p/11823178.html