IO流(Java)
Java的IO流
IO流的分类

输入流:把数据从硬盘读取到内存。
输出流:把数据从内存写出到其他设备。
字节流:以字节为单位,读写数据的流。
字符流:以字符为单位,读写数据的流。
字节输出流(OutputStream)
(一)OutputStream表示字节输出流的所有超类。下面定义了字节输出流的所有共性方法。
常用方法
•public void close():关闭此此输出流并释放资源。
•public void fiush():刷新此输出流并强制任何缓冲的输出字节被写出。
•public void write(byte [ ] b):将b.length从指定的字节数组写入此输出流。
•public void write(byte [ ] b,int off,int len):从指定的字节数组写入此输出流,off字节数组索引。
•public abstract void write(int b):指定的字节输出流。
(二)FileOutputStream文件输出流 OutputStream的子类
构造方法:
• public FileOutputStream(File file):创建文件输出流以写入由指定的File对象表示的文件。
• public FileOutputStream(String name):创建文件输出流以指定的名称写入文件。
public class A { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("D:\\IO\\m.txt",true);//append数据追加开关 byte [] b = {98,99,100,34}; fos.write(b); fos.write("\r\n".getBytes());//windows系统下的换行符 fos.write("你好".getBytes());//getBytes()方法返回一个字节数组 fos.close(); } }
字节输入流(InputStream)
(一)InputStream表示字节输出流的所有超类。下面定义了字节输出流的所有共性方法。
• public void close():关闭此输入流并释放资源
• public abstract int read():从输入流读取数据的下一个字节。(返回下一个读取到的字节)
• public int read (byte [ ] b):从输入流中读取一些字节数,并将它们存储到字节数组b中。(返回读取的字节数)
(二)FileInputStream文件输出流 InputStream的子类
构造方法:
• public InOutputStream(File file):打开由指定的File对象表示的文件。
• public FileInputStream(String name):打开由指定的名称写入文件。
public class TestOne { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("D:\\IO\\a.txt"); int len = 0; while((len = fis.read())!=-1){ System.out.println(len); } } } /*中文: GBK:一个中文两个字节 UTF-8:一个中文三个字节 * */
字符输入流(Reader )
-
public void close() :关闭此流并释放与此流相关联的任何系统资源。
-
public int read() : 从输入流读取一个字符。
-
public int read(char[] cbuf) : 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。
FileReader
-
FileReader(File file) : 创建一个新的 FileReader ,给定要读取的File对象。参数:读取文件的数据源 File file:一个文件。
-
FileReader(String fileName) : 创建一个新的 FileReader ,给定要读取的文件的名称。当你创建一个流对象时,必须传入一个文件路径。参数:读取文件的数据源 String fileName:文件的路径。
字符输出流(Writer)
常用方法:
- void write(int c) :写入单个字符。
- void write(char[] cbuf): 写入字符数组。
- abstract void write(char[] cbuf, int off, int len) :写入字符数组的某一部分,off数组的开始索引,len写的字符个数。
- void write(String str) :写入字符串。
- void write(String str, int off, int len) :写入字符串的某一部分,off字符串的开始索引,len写的字符个数。
- void flush() :刷新该流的缓冲。
- void close() :关闭此流,但要先刷新它。
FileWriter
- FileWriter(File file)根据给定的 File 对象构造一个 FileWriter 对象。 参数:写入数据的目的地 File file:是一个文件
- FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。 参数:写入数据的目的地 String fileName:文件的路径
注意事项:
- flush :刷新缓冲区,流对象可以继续使用。
- close :先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了
代码步骤同字节流,就此略过。

浙公网安备 33010602011771号