IO体系结构,文件流式输入输出
?
??二、主要的几种重要的方法InputStream 几个重要的方法? ? int available()?? 流中的可读取的有效字节长度? ? void close()?? 使用流对象后关闭? ??int read()??? 这个方法调用会返回流中的下一个字节作为byte值, 文件末尾返回-1? ??int read(byte[])?? 从流中读到的byte?使用FileInputStream 从文件中读取数据? ??FileInputStream 构造器? ??FileInputStream (File file)?? 通过一个文件对象做参数构造输入流对象? ??FileInputStream (String name)? 传入一个字符串(文件路径名)构造连接到指定文件的输入流?OutputStream??几个重要的方法? ??void close()?? 使用流对象后关闭? ??void flush()?? 将输出流有可还保存在(JVM)内存中的数据强制输出到目标上(文件或者网络上)? ??void write(int b)??? 向流中写入一个byte值,此处虽定义为int,但写入的却作为一个byte? ??void write(byte[])?? 将byte数组中的内容输出到流中? ??void write(byte[] int off, int len)?? 将byte数组中一部分的内容输出到流中
?使用OutputStream??从文件中读取数据OutputStream??构造器? ??OutputStream??(File file)?? 构造输出到指定文件file对象的输出流? ??OutputStream??(File file, boolean append)????????append 表示输出到文件中的数据是否接在文件中已有数据后面?????? 构造输出到指定文件file对象的输出流? ??OutputStream??(String name)? 构造输出到一个字符串(文件路径名)对象的输出流
?
三、几种不同的文件读写的代码示例
?
整个字符串的读取和复制
使用FileInputStream/FileOutputStream
?
?
??
?
?
使用 BufferedOutputStream/BufferedOutputStream类 对文件的读取和文件的复制
?
?
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(file)));??? ? ? ? 根据我的理解,在效率不是非常重要的情况下,一般情况下可能只需要考虑两种情况,即想按照字节去读取,
?
还是想按照行去读取,而一般情况无论采取什么方式去读取,最佳的方式都莫过于用Buffered..但是又要考虑
?
到Buffered..默认的缓冲区大小是8192K,所以具体情况具体分析,按文件读写的需要来选择读写方式无疑是
?
非常明智的。