Java IO操作——字节流进行读写操作

来源:互联网 发布:万能网络视频下载器 编辑:程序博客网 时间:2024/05/19 13:24
/** * io操作练习实例 * 使用字节流的方法对文件进行读写 * 在对指定文件进行读操作时,该文件必须存在,否则会抛出异常 * 但在对文件进行写操作时: *  1.若使用new FileOutputStream(file);则会创建一个新文件进行写入 *      若原有文件存在,则将文件内容覆盖掉 *  2.若使用new FileOutputStream(file,true);则: *      2.1 若文件已存在,则在后面追加数据 *      2.2 若文件不存在,则创建文件进行写入 *      2.3 true改为false,则与new FileOutputStream(file)一样 */package com.test1;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * @file_name:IOPractice.java * * @date:2017年7月13日 * *  * * */public class IOPractice {    public static void main(String[] args) {        IO_WriteNRead_1 io_WriteNRead_1=null;        //创建一个实例,指定目录及文件名        io_WriteNRead_1=new IO_WriteNRead_1(new File("e:\\test\\test", "USER1.TXT"));        //从文件中读入内容到内存        io_WriteNRead_1.readFile();        //将内容写出到文件        io_WriteNRead_1.writeFile("\r\n你好呀,hello world");        //复制文件        io_WriteNRead_1.copyFile( "e:\\test\\test\\USER3.txt");    }}// 运用字节流进行读写操作class IO_WriteNRead_1 {        File file = null;        FileInputStream fis = null;        FileOutputStream fos=null;    public IO_WriteNRead_1(File file) {        this.file = file;    }    //从指定文件中读入内容    public void readFile() {        // 创建一个字节数组暂时存放读出的部门数据        // 该字节数组可看作缓存区        byte[] buf = new byte[1024];        int size = 0;        String s = null;        try {            fis = new FileInputStream(file);            // 从文件中循环读出bytes.lenth字节到bytes数组            // 当读出的字节数为-1,标志文件中的内容已读完            while ((size = fis.read(buf)) != -1) {                // 将字节转化为字符String                s = new String(buf, 0, size);                System.out.println(s);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            try {// 将输入流关闭,一定要记得关闭                fis.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }    //将内容写出到文件    public void writeFile(String s) {        try {            fos = new FileOutputStream(file,true);            fos.write(s.getBytes());        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                fos.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }    //复制文件(另存为)    public void copyFile(String fileName) {        try {            fis = new FileInputStream(file);            fos = new FileOutputStream(fileName);            byte[] buf = new byte[1024];            while (fis.read(buf) != -1) {                fos.write(buf);            }        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                fis.close();                fos.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }}
原创粉丝点击