IO(Input/Output)

目录

一、个人见解

二、IO的操作方法 

三、代码演示 

四、IO中的复制文件

五、补充

六、总结


一、个人见解

        对于计算机来说,输入可以为外设到内存,输出再从内存到别的地方,可见内存为输入和输出的一个参照物。用IO来存储数据比用最开始的数组存储数据要方便的多,可以改变和调整的地方,都可以较为容易的调整和改变。

二、IO的操作方法 

  1.  确定源
  2. 打开流
  3. 操作流
  4. 关闭流

三、代码演示 

import java.io.FileInputStream;
import java.io.IOException;public class ExampleIO {public static void main(String [] args){String pathName = "D:\\1.txt";//确定源FileInputStream fis = null;try{fis = new FileInputStream(pathName);//打开流//操作流int res = 0;while((res = fis.read()) != -1){System.out.println(res);}//read方法返回的是整型} catch(IOException e){e.printStackTrace();} finally{try{fis.close();//关闭流} catch(IOException e){e.printStackTrace();}}}
}

四、IO中的复制文件

public class ExampleIO {public static void main(String [] args){Copy.copy("D:\\1.txt","D:\\2.txt",1024);//确定源}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Copy {public static void copy(String src, String dest, int cap){FileInputStream fis = null;FileOutputStream fos = null;try{fis = new FileInputStream(src);fos = new FileOutputStream(dest);//打开流byte[] bytes = new byte[cap];while(fis.read(bytes) != -1)//操作流{fos.write(bytes);fos.flush();//清空}} catch(IOException e){e.printStackTrace();} finally {try{if(null != fos)// 防止空指针异常fos.close();//关闭流} catch (IOException e){e.printStackTrace();} try{if(null != fis)fis.close();} catch(IOException e){e.printStackTrace();}}//遵循先开后关,后开先关的原则}
}

        其中这里面还有一个非常有意思的事情,就是那个cap的大小可以改变程序跑的快慢。打比方说某网盘的下载速度,有会员和没会员的速度不是同一个量级,这应该算是一个简单的解释了。

五、补充

在第四点中,这一串代码是不是感觉有点冗余了

        finally {try{if(null != fos)// 防止空指针异常fos.close();//关闭流} catch (IOException e){e.printStackTrace();} try{if(null != fis)fis.close();} catch(IOException e){e.printStackTrace();}}//遵循先开后关,后开先关的原则}

如果将两个关闭写一起的话,代码是不是看起来就简便一些,像这样

           finally{try{fos.close();fis.close();} catch(IOException e){e.printStackTrace();}}

但是如果这么写的话如果fos出现了问题,那就会导致fis这一行执行不了了,所以尽量还是得分开写,避免有这种错误的出现。

六、总结

        注意:当写到打开流后,先把关闭流先写好,可以避免程序因忘写而导致资源浪费,当量比较大时会影响到业务的进行,操作流可留到最后再来完善。

        IO的四步走,确定源,打开流,操作流,关闭流。内存为输入输出的参照物。

        以上的内容大家都可试验一下,如有错误望指正。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部