当前位置: 首页 > wzjs >正文

公司做两个网站苏州网站建设费用

公司做两个网站,苏州网站建设费用,郴州市做网站,自己怎样做公司广告视频网站栗子一: 查找硬盘上的文件位置,给定一个文件名,去指定的目录中进行搜索,找到文件名匹配的结果,并且打印出完整的路径。文件系统的目录结构是“树型”结构。既然是搜索,就会涉及到遍历,针对树的…

栗子一:

查找硬盘上的文件位置,给定一个文件名,去指定的目录中进行搜索,找到文件名匹配的结果,并且打印出完整的路径。文件系统的目录结构是“树型”结构。既然是搜索,就会涉及到遍历,针对树的遍历,又要涉及递归。(这里的递归,可能比二叉树复杂一点点,目录中有几个子目录,就递归几次)

代码如下:

 public static void main(String[] args) {// 1. 输入必要的信息Scanner scanner = new Scanner(System.in);System.out.println("请输入要搜索的文件名:");String fileName = scanner.next();System.out.println("请输入要搜索的目录");String rootPath = scanner.next();File rootFile = new File(rootPath);if (!rootFile.isDirectory()) {System.out.println("输入的目录有误!");return;}// 2. 有了要搜索的路径之后,就可以按照 递归 的方式来进行搜索了// 知道递归的七点,还需要知道要查询的文件名scanDir(rootFile, fileName);}private static void scanDir(File rootFile, String fileName) {// 1. 把当前目录中的文件和子目录都列出来File[] files = rootFile.listFiles();if (null == files) {// 该目录为空 直接返回return;}// 2. 遍历上述 files,判定每一个 file 是目录还是文件for (File f : files) {System.out.println("当前遍历到" + f.getAbsolutePath());if (f.isFile()) {// 普通文件,判定文件名是否是搜索的文件if (fileName.equals(f.getName())) {System.out.println("找到了符合要求的文件!!" + f.getAbsolutePath());}} else if(f.isDirectory()) {// 目录文件,需要进一步递归scanDir(f,fileName);} else {;}}}

这里的递归,就是进行树的遍历,把目录中,以及其中的子目录,所有的文件,都遍历一次,看是否有符合需要的。我们这个只能称为“遍历”,谈不上前中后序~~~此处是 N 叉树,并且每个节点上也有很多文件,访问操作出现的时机,对于这里来说,访问,指的就是判定文件名这压根的操作~~~(像 everything 这样的程序,就是需要遍历我们的目录来获取到我们的文件 / 目录的结构信息,遍历的过程就是类似于上述的递归过程~~~)

栗子二:

实现文件复制,把一个文件复制一下, 称为另一个文件。把第一个文件以读方式打开,依次读取出来这里的每个字节,再把读到的内容,写入另一个文件里面。

代码示例:

  public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入要复制的源文件:");String srcPath = scanner.next();System.out.println("请输入要复制的目标文件:");String destPath = scanner.next();// 合法性判断// 1. srcPath 对应的文件是否存在File srcFile = new File(srcPath);if (!srcFile.isFile()) {System.out.println("源文件路径有误");return;}// 2. destPath 并不要求对应的文件存在,但是要求目录得存在File destFile = new File(destPath);if (!destFile.getParentFile().isDirectory()) {System.out.println("目标路径有误");return;}// 复制操作try (InputStream inputStream = new FileInputStream(srcFile) ;OutputStream outputStream = new FileOutputStream(destFile)) {while (true) {byte[] buffer = new byte[1024];int n = inputStream.read(buffer);if (-1 == n) {// 读取完毕break;}// 把读到的内容写到 outputStream 中outputStream.write(buffer,0,n);}} catch (IOException e) {throw new RuntimeException(e);}}

并且上述代码中,是按照二进制的方式进行复制的,可以复制任何的文件。 

栗子三:

第三个栗子,是将上面的两个栗子结合一下。

第一个栗子,是在目录中搜索名字匹配的文件。第二个栗子,是直接复制文件。

第三个栗子,还是在目录中搜索,按照文件内容的方式搜索,用户输入一个目录,一个要搜索的词,遍历文件的过程中,如果文件包含了要搜索的词(这个匹配过程,就需要将文件的内容读取出来,再在文件的内容中进行查找),就把文件的路径打印出来。

代码示例:

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入要搜索的目录:");String rootPath = scanner.next();System.out.println("请输入要查询的词:");String word = scanner.next();File rootFile = new File(rootPath);if (!rootFile.isDirectory()) {System.out.println("输入的要搜索的目录");return;}scanDir(rootFile, word);}private static void scanDir(File rootFile, String word) {File[] files = rootFile.listFiles();if (null == files) {// 目录下为空return;}for (File f : files) {System.out.println("当前遍历到:" + f.getAbsolutePath());if (f.isFile()) {// 在文件内容中搜索searchInFile(f, word);} else if(f.isDirectory()) {// 递归遍历scanDir(f,word);} else {;}}}private static void searchInFile(File f, String word) {// 通过这个方法 在文件的内部中搜索关键词// 1. 把文件的内容都读出来try (InputStream inputStream = new FileInputStream(f)) {StringBuilder stringBuilder = new StringBuilder();while (true) {byte[] buffer = new byte[1024];int n = inputStream.read(buffer);if (-1 == n) {// 读完数据了!break;}// 在 while 循环里面 每一次循环都值是取出文件的一部分// 需要把文件的内容整体的拼接在一起String s = new String(buffer,0,n);stringBuilder.append(s);}// 2.当文件读取完毕之后,循环结束,StringBuilder 就是包含文件整个内容的字符串了if (stringBuilder.indexOf(word) == -1) {// 没找到return;}// 找到了 打印文件路径System.out.println("找到了!" + word + "存在于" + f.getAbsolutePath());} catch (IOException e) {throw new RuntimeException(e);}}

补充:

三个栗子中,对输入进来的路径的合法性判断的逻辑,是非常重要的,实际开发中不能随便省略!!!

http://www.dtcms.com/wzjs/271699.html

相关文章:

  • 太原医疗网站建设软件培训机构
  • 昭平县建设局网站seo按天计费系统
  • 企业展厅设计要点seo点击排名器
  • 出售企业网站备案资料威海seo公司
  • 大型网站方案搜狐财经峰会
  • 智能建站系统怎么更换网站模板长沙网站建设服务
  • 网站建设是属于软件开发费吗个人网页设计制作网站模板
  • 学做网站需要多久长沙弧度seo
  • wordpress customizr成都公司网站seo
  • 论坛网站建设模板网络营销的方法包括哪些
  • 淘宝客优惠券网站建设加盟官网怎么做百度推广运营
  • 帮人建网站价格今日热搜榜排名
  • 在线字体设计网站代写文案的软件
  • 网站建设专业团队有实力的网站排名优化软件
  • 舞阳专业做网站网络推广公司排行榜
  • 气泡做网站上方代码企业策划方案怎么做
  • 网站编辑有前途吗网课免费平台
  • 东莞营销型网站建设流程seo推广
  • 行业网站建设多少钱厦门网站seo外包
  • android直播app开发seo优化销售话术
  • 网站制作费用2020十大网络热词
  • 企业网站建设策划案营销型网站内容
  • 建设网站的站长工具百科
  • 中企动力官网网站写软文的app
  • 建立网站怎么做关键字网络营销是做什么的
  • 公司logo 标志 图案seo排名优化技术
  • 怎么做企业网站建设方案sem竞价托管价格
  • 如何做网站挣钱seo优化培训学校
  • 广州做模板网站的公司重庆seo公司排名
  • 网站开发属于链接怎么做