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)
常用方法:
FileWriter
注意事项:
代码步骤同字节流,就此略过。
原文:https://www.cnblogs.com/hutree/p/12393315.html