前言
IOStream是InputStream和OutputStream的简称,这两个基类下面包含着很多子类,如图(output与input对应):
对于这几个子类的介绍,详情百度百科。
in和out是相对于内存来说的,接下来用一个小例子对它加深理解。
实例
public static void main(String[] args) { File file = new File("G:\\测试.txt"); File filenew = new File("G:\\new测试.txt"); int size = (int)file.length(); byte[] bytes=new byte[size]; try { InputStream in = new FileInputStream(file); try { in.read(bytes); } catch (IOException e) { e.printStackTrace(); } OutputStream out = new FileOutputStream(filenew); try { out.write(bytes); } catch (IOException e) { e.printStackTrace(); } try { in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.print("完成"); }这是一个最简单的IO流复制文件的操作,大概意思就是,本地G盘下有一名为“测试”的txt文件,inputStream将其文件流读入内存中,并新建一空文件“new测试.txt”,使用OutputStream从内容中读出流并输入到该文件中,此时,在本地G盘下会生成“new测试.txt”,内容与“测试.txt”相同。
实际的使用IO流操作大文件时,一般会把他们读出的流放入缓存中,可显著加快读取速度。在此不做演示。
总结
IO流在实际中的使用非常普遍,如上传下载文件,读取、写文件等。