I/O实例操作

网友投稿 596 2022-10-27

I/O实例操作

I/O实例操作

/**作者:呆萌老师*☑csdn认证讲师*☑高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大家分享技术、知识和生活*各种干货,记得关注哦!*/

1、复制文件

File file=new File("d:/aa/0.jpg"); File toFile=new File("d:/aa/00.jpg"); long begin=System.currentTimeMillis(); try { //创建一个字节输入流 用来读取原文件的内容 FileInputStream fileInputStream=new FileInputStream(file); //创建一个字节输出流 用来写入复制后的文件 FileOutputStream fileOutputStream=new FileOutputStream(toFile); int a; //从输入流读 while((a=fileInputStream.read())!=-1) { //通过输出流写出去 fileOutputStream.write(a); } fileInputStream.close(); fileOutputStream.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } long end=System.currentTimeMillis(); System.out.println("复制总用时:"+(end-begin)+"毫秒");

当我们使用文件流之后,直接通过流直接将数据写入另一个文件当中,这样虽然可以实现复制文件的目的但是这样的操作显得尤为粗暴不优雅。

2、缓冲流复制文件

//用缓冲流复制文件 File file=new File("d:/aa/0.jpg"); File toFile=new File("d:/aa/000.jpg"); long begin=System.currentTimeMillis(); //创建缓冲字节输入流 (一定要先有字节输入流) FileInputStream fileInputStream; try { fileInputStream = new FileInputStream(file); BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream); //创建缓冲字节输出流 FileOutputStream fileOutputStream=new FileOutputStream(toFile); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream); //从输入流中读取数据 从输出流写出去 int a; while((a=bufferedInputStream.read())!=-1) { bufferedOutputStream.write(a); } bufferedInputStream.close(); bufferedOutputStream.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } long end=System.currentTimeMillis(); System.out.println("复制文件总用时:"+(end-begin)+"毫秒");

3、不断从一个文件读取数据写入到另一个文件

File file=new File("d:/aa/person.java"); File toFile=new File("d:/aa/person2.java"); long begin=System.currentTimeMillis(); try { //创建缓冲字符输入流(先创建一个字符输入流) FileReader fileReader =new FileReader(file); BufferedReader bufferedReader=new BufferedReader(fileReader); //创建缓冲字符输出流(先创建一个字符输出流) FileWriter fileWriter=new FileWriter(toFile); BufferedWriter bufferedWriter=new BufferedWriter(fileWriter); //循环从一个地方读出 写到另一个文件 String str; while((str=bufferedReader.readLine())!=null) bufferedWriter.write(str); bufferedReader.close(); bufferedWriter.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } long end=System.currentTimeMillis(); System.out.println("使用缓冲字符流复制文件总用时:"+(end-begin)+"毫秒");

更多了解

​​https://edu./course/20124.html​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一个使用CoreML识别汽车的框架示例
下一篇:一个基于 retrofit + okhttp + json 封装的网络框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~