牧佑OneZeroZeroDayDream--File字节流读入与输出简单实现

来源:互联网 发布:疯狂java讲义下载 编辑:程序博客网 时间:2024/06/08 05:53
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;/** * // 输入字节流  输出字节流InputStream  outputStream// 字节流是用来操作媒体数据的//字符流抽象基类。操作文字的Reader Writer// 往文件里面写内容// 字符串一个get数组的方法 OutputStream os = new OutputStream("D:\\war3\\sgt.txt");os.write("Hello World!!".getBytes());// 字符串刷新,让他提交。不然不会写os.flush();// 用完流必须关闭流对象,不然会占着系统资源会引起操作系统的内存溢出os.close();InputStream 读取的时候 采用数组1024读取。如果文件过大,读取一遍1024发现没有读取完毕的时候需要定义一个循环来,开始读取如果读取时候小于1024 后面的就回被空格所代替。所以就需要在程序里面截取 数组实际长度 * @author muyoushushu * */public class FileStreamDemo {public static void main(String[] args) {OutputStream os = null;InputStream is = null;try {os=new FileOutputStream("D:\\xx.txt");os.write("拒绝平庸,如果平庸。必须去死".getBytes());os.flush();is = new FileInputStream("D:\\xx.txt");byte buf[] = new byte[1024];int len; StringBuilder sb = new StringBuilder();//如果这个文件读取完毕的时候,read返回值是一个-1while((len =is.read(buf)) != -1){// 重新定义一个数组byte btye[];if(len < 1024){ btye= new byte[len];// 数组 copySystem.arraycopy(buf, 0, btye,0,len);sb.append(new String(btye));} else {sb.append(new String(buf));}}System.out.println(sb.toString());} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {try {os.close();is.close();} catch (IOException e) {e.printStackTrace();}}}}

原创粉丝点击