javaIo流实际应用

    /*查看目录下所有的文件*/    

  1. package cn.file;   import java.io.File;public class Text2 {public static void main(String[] args) {File a=new File("F:\\图片");File a1=new File("F:\\你的");chek(a1);}public static void chek(File f3) {//查看目录下的所有文件if(f3.exists()){  if(f3.isDirectory()){File [] f=f3.listFiles();//查看目录的文件for(int i=0;i<f.length;i++){chek(f[i]);}}else {System.out.println(f3);};}}

    复制子目录  

  • import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Reader;
    import java.io.Writer;//练习:关于目录的拷贝?public class Text6 {   // 缓冲区大小private static final int buffer_size = 1024*2;   // 源和目标检测private static void doCopy(File src, File dst)throws IOException {   if (src.isFile()) {   copyFile(src, dst);   } else {   File dir = copyDirectory(src, dst);   File[] files = src.listFiles();   if (files.length == 0) {   } else {   for (File file : files) {   doCopy(file, dir);   }   }   }   }   // 拷贝实现public static void copy(File src, File dst) throws IOException {   doCopy(src, dst);   }   // 文件拷贝private static void copyFile(File src, File dst) throws IOException {   File file = new File(dst, src.getName());   copy(new BufferedInputStream(new FileInputStream(src)), new BufferedOutputStream(new FileOutputStream(file)));   }   // 目录拷贝  要在目标设备中创建目录private static File copyDirectory(File src, File dst) {   File file = new File(dst, src.getName());   file.mkdir();   return file;   }   // 拷贝private static int copy(BufferedInputStream in, BufferedOutputStream out) throws IOException {   int byteCount = 0;  //                        问号  byteCount try {   int bytesReader = 0;   byte [] buffer = new byte[buffer_size];   while ((bytesReader = in.read(buffer)) != -1) {   out.write(buffer, 0, bytesReader);   byteCount += bytesReader;   }   out.flush();   } finally {   in.close();   out.close();   }   return byteCount;   }   public static void main(String[] args)throws IOException {File a=new File("F:\\测试的文件");File b=new File("F:\\我的");copy(a,b);        System.out.println("finish.................");}} 

    给文件改名

  • import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;public class Text1{public static void main(String[] args)throws IOException {File a=new File("F:\\测试的文件\\我的");File b=new File("F:\\测试的文件\\我的");copyList(a,b);}public static void copyList(File a,File b )throws IOException{//第一步File c=a;BufferedInputStream bis=null;BufferedOutputStream bos=null;byte bs []=new byte [1024];if (!b.exists()){  //判断b的文件夹是否存在 
                b.mkdir();}if(c.isDirectory()){File d [] =c.listFiles();//得到目录文件的数组if(d!=null){//判断文件目录是否为空for (int i=0;i<d.length;i++){copyList(d[i],b);//递归查询//System.out.println(d[i]);//查看目录里的文件if(d[i].isFile()){if(d[i].getName().endsWith(".jpg")){//根据条件判断的复制int rel=0;bis=new BufferedInputStream(new FileInputStream(d[i]));bos=new BufferedOutputStream(new FileOutputStream(new File(b,i+".jpg")));while((rel=bis.read(bs))!=-1){bos.write(bs, 0, rel);bos.flush();}bos.close();bis.close();d[i].delete();//复制后删去复制的文件   这样看起来像是剪切
                            }}}}    }else{System.out.println(c);}}
    }

    /**过滤后复制文件夹*/

  • import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;//经典过滤方案  用到 iO流 递归 
    public class Text4 {public static void print(File dir,File f2 )throws IOException{//判断鱼塘是否存在if (dir!=null){//判断鱼塘是否有鱼if (dir.isDirectory()){//把鱼塘里面所有东西装箱File f []=dir.listFiles();//判断箱子是否为空if (f!=null){//遍历箱子里面的东西for (int i=0;i<f.length;i++){//假如箱子里还有箱子就继续打开    
                                print(f[i],f2);if (f[i].isFile()){String name =f[i].getName();if(name.endsWith(".jpg")){BufferedInputStream bi=new BufferedInputStream(new FileInputStream(f[i]));BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream(new File(f2,f[i].getName())));int rel=0;byte [] bs=new byte [1024];while((rel=bi.read(bs))!=-1){bo.write(bs,0,rel);bo.flush();    //f[i].delete();//复制后删去复制的文件   这样看起来像是剪切
                                    }}}                            }                    }else{//System.out.println(dir);
                };}}}public static void main(String[] args) throws IOException {File f1=new File("F:\\音乐");File f2=new File("D:\\速度1");print(f1,f2);System.out.println("复制成功");//print(new File("F:"+File.separator+"音乐"));//System.out.println("遍历文件夹");
        }
    }

    /*删除文件与文件夹*/  

  • import java.io.File;
    import java.io.IOException;public class Text3 {public static void main(String[] args) throws IOException {File f=new File("F:\\我的");delect(f);}public static void delect(File s){File b []=null;if(s.exists()){//判读是否存在if(s.isDirectory()){//判断是不是目录b=s.listFiles();   if(b!=null){for(int i=0;i<b.length;i++){if(b[i].isFile()){ //判断是不是目录b[i].delete();//删除子文件}else{delect(b[i]);//递归b[i].delete();}//删除子目录
                        }}}else{s.delete();};s.delete();}}
    }

     

转载于:https://www.cnblogs.com/ak23173969/p/4979833.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之网络编程之网络通信几种方式实例分享

这篇文章主要介绍了android 网络编程之网络通信几种方式&#xff0c;有需要的朋友可以参考一下 现在总结了六种方式&#xff1a; &#xff08;1&#xff09;针对TCP/IP的Socket、ServerSocket &#xff08;2&#xff09;针对UDP的DatagramSocket、DatagramPackage。这里需要注意…

常用MIME类型(Flv,Mp4的mime类型设置)

也许你会在纳闷&#xff0c;为什么我上传了flv或MP4文件到服务器&#xff0c;可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢&#xff1f;这就表明mp4格式文件是服务器无法识别的&#xff0c;其实&#xff0c;这是没有在iis中将相应的MIME类型进行设置的…

史上四大“杀人”建筑,烧掉几百亿,却犯低级错误,网友:有钱人的智商,我不懂

全世界只有3.14 % 的人关注了爆炸吧知识本文转自普象工业设计小站这个世界上有多少荒谬的建筑&#xff1f;国内土味审美的大楼只是冰山一角在更多的国家里耗费巨资&#xff0c;却无比失败的工程比土味大楼更多更荒唐你也许听说过美国这座会跳舞的大桥耗资千万&#xff0c;由优秀…

迎.NET6,今日先送200P全新视频教程 / 源码

昨晚已经正式发布了.NET6,具体参见&#xff1a;https://devblogs.microsoft.com/dotnet/announcing-net-6/。这是.NET团队和社区努力一年的成果&#xff0c;C# 10 和 F# 6 有很大的语言改进&#xff0c;使代码更简单、更好。性能有了巨大的提升&#xff0c;我们看到微软的云服务…

文章观后感

文章地址http://knowledge100.blog.51cto.com/3448830/793559 这篇文章讲的是三层交换机-vlan间路由配置&#xff0c;主要讲述的是通过实例的方式说明如何在一个典型的快速以太局域网中实现VLAN间路由的问题。通过设置VTP域、配置交换机间中继链路、在核心交换机上创建VLAN、将…

JSP之三大指令

page指令&#xff1a; * import&#xff1a;等同与import语句 <% page import"java.util.*" %> <% page import"java.util.*, java.net.*" %>在一个JSP页面中可以给出多个page指令&#xff0c;而且import是可以重复出现的 <% page import&q…

android 横向stepview,Android 流程指示器 StepView

软件介绍StepView 是Android平台下自定义的流程指示器。效果图&#xff1a;使用:android:id"id/step_view0"android:layout_width"match_parent"android:layout_height"wrap_content"android:layout_centerInParent"true"android:text…

Android之项目中如何用好构建神器Gradle?

Gradle虽为构建神器&#xff0c;但感觉学习曲线比较陡峭。Gradle User Guide内容很多&#xff0c;但有点太多了&#xff0c;多的你看不完&#xff0c;Gradle Plugin User Guide一篇文章主要讲了Android相关的配置&#xff0c;看完可能感觉马马虎虎会用&#xff0c;但到了修改一…

JavaScript执行环境 + 变量对象 + 作用域链 + 闭包

闭包真的是一个谈烂掉的内容。说到闭包&#xff0c;自然就涉及到执行环境、变量对象以及作用域链。汤姆大叔翻译的《深入理解JavaScript系列》很好&#xff0c;帮我解决了一直以来似懂非懂的很多问题&#xff0c;包括闭包。下面就给自己总结一下。包括参考大叔的译文以及《Java…

58年前,这3个人在“撕逼”中拿下诺贝尔奖!一起研究DNA的女科学家却痛苦去世.........

全世界只有3.14 % 的人关注了爆炸吧知识人类的本质是双螺旋结构1953年4月25日&#xff0c;《自然》杂志发表了一篇不到千字的论文&#xff1a;消息一出&#xff0c;便掀起了科学界的轩然大波。因为这篇短小精悍的论文史无前例地揭示了正确的DNA立体结构。图片仅供参考&#xff…

Azure App Service 上的根证书

点击上方蓝字关注“汪宇杰博客”原文&#xff1a;Amol Mehrotra翻译&#xff1a;Edi Wang导语App Service 有一个受信任的根证书列表&#xff0c;您不能在 App Service 的多租户版本中修改这些证书&#xff0c;但您可以在应用服务环境 (ASE) 的受信任根存储中加载自己的 CA 证书…

String.Format和StringBuilder的效率

到底String.Format还是StringBuilder效率更高一点&#xff1f;至于这个问题&#xff0c;直接叫他用强大的武器Reflector了解一下String.Format的方法.结果他很快就找出相关的代码: public static string Format(IFormatProvider provider, string format, params object[] arg…

jettytomcat对待表单过长问题

为什么80%的码农都做不了架构师&#xff1f;>>> 结论两句话&#xff1a; tomcat知道自己处理不了了&#xff0c;什么也不干过去了 jett知道自己处理不了了&#xff0c;抛个IllegalStateException出来通知一下 jetty默认允许的content-length2001000 org.eclips…

Android之Adapter用法总结

Android之Adapter用法总结 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系: Android中所有的Adapter一览: …

那些年,画家发明的黑科技

全世界只有3.14 % 的人关注了爆炸吧知识在现代摄影技术发明之前&#xff0c;获取图像的最佳方式只有绘画。在绘画的时代&#xff0c;如何把事物画的逼真&#xff0c;几乎成为了困扰画家一生的问题。为了准确展现客观世界&#xff0c;让画面看起来更加逼真&#xff0c;古代的艺术…

shared_ptrT make_shared( Args ... args );

shared_ptr很好地消除了显式的delete调用&#xff0c;如果读者掌握了它的用法&#xff0c;可以肯定delete将会在你的编程字典中彻底消失。但这还不够&#xff0c;因为shared_ptr的构造还需要new调用&#xff0c;这导致了代码中的某种不对称性。虽然shared_ptr很好地包装了new表…

Android jdwp 自动断开,开启debug调试模式,进入不了,等一会就闪退了!!!!

原因&#xff1a;debug标记加多了art/runtime/jdwp/jdwp_event.cc:661] Check failed: Thread::Current() ! GetDebugThread() (Thread::Current()0xe1908400, GetDebugThread()0xe1908400) Expected event thread11-16 15:29:18.457 10331-10339/包名 A/art: art/runtime/runt…

Visual Studio 2022发布了,我最爱的5大特性

VS2022今天Visual Studio 2022 终于发布了&#xff0c;你只需要按下⾯地址就可以快速安装你所需要的Visual Studio 2022版本&#xff0c;包括了企业版本&#xff0c;专业版本&#xff0c;以及社区版本。请输入以下⽹址安装最新的Visual Studio 2022 https://aka.ms/InstallVS或…

ASP.NET3.5 企业级项目开发 -- 第二章 数据访问层(DAL)的开发

为什么80%的码农都做不了架构师&#xff1f;>>> ASP.NET3.5 企业级项目开发 &#xff0d;&#xff0d; 第二章 数据访问层(DAL)的开发 前言&#xff1a;本篇主要讲述数据访问层的开发&#xff0c;而且为了大家交流&#xff0c;已经创建企业项目开发团队&…

Android之URI简介

就Android平台而言&#xff0c;URI主要分三个部分&#xff1a;scheme, authority and path。其中authority又分为host和port。格式如下&#xff1a; scheme://host:port/path 举个实际的例子&#xff1a; content://com.example.project:200/folder/subfolder/etc \---------/ …