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

大连开发网站建设/免费下载百度

大连开发网站建设,免费下载百度,手机app软件开发多少钱,公司淘宝网站怎么建设的更加好JAVA之旅(二十九)——文件递归,File结束练习,Properties,Properties存取配置文件,load,Properties的小练习 我们继续学习File 一.文件递归 我们可以来实现一个文件管理器,简单的&…

JAVA之旅(二十九)——文件递归,File结束练习,Properties,Properties存取配置文件,load,Properties的小练习


我们继续学习File

一.文件递归

我们可以来实现一个文件管理器,简单的,但是在此之前,我们先来做点小案例

package com.lgl.hellojava;import java.io.File;public class HelloJJAVA {public static void main(String[] args) {File dir = new File("E:\\AndroidDelepoer");showDir(dir);}private static void showDir(File dir) {System.out.println("目录:" + dir);File[] fils = dir.listFiles();for (int i = 0; i < fils.length; i++) {if (fils[i].isDirectory()) {showDir(fils[i]);} else {// 列出根目录System.out.println("files" + fils);}}}
}

因为目录中海油目录,只要使用同一个列出目录功能的函数完成即可,在列出过程中出现的还是目录的话,还可以再此的功能,,也就是函数自身调用自身,这种表现形式,或者手法称为递归

    //递归private static void method(){method();}

你可以看

private static void toBin(int num) {while (num > 0) {toBin(num / 2);System.out.println(num % 2);// num = num / 2;}}

二.File结束练习

File讲到这里也是差不多的讲完了,感觉还不错,有很多知识点,我们就用一个小练习来结束这个知识点吧!

  • 将一个指定目录下的java文件的绝对路径,存储到一个文本文件中,建立一个java文件列表的文件
package com.lgl.hellojava;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;public class HelloJJAVA {public static void main(String[] args) {/*** 思路: * 1.对指定的目录进行递归 * 2.获取递归过程所有的java文化的路径 * 3.将这些路径存储到集合中 * 4.将集合中的数据写入到一个文件中*/File file = new File("f:\\");java.util.List<File> list = new ArrayList<File>();fileToList(file, list);
//      System.out.println(list.size());File name = new File(file,"HelloJAVA.java");writeToFile(list, name.toString());}public static void fileToList(File dir, java.util.List<File> list) {File[] files = dir.listFiles();for (File file : files) {if (file.isDirectory()) {fileToList(file, list);} else {// 判断java文件if (file.getName().endsWith(".java")) {list.add(file);}}}}// 写入文件public static void writeToFile(java.util.List<File> list,String javaFileList) {BufferedWriter bufw = null;try {bufw = new BufferedWriter(new FileWriter(javaFileList));for (File f : list) {String path = f.getAbsolutePath();bufw.write(path);bufw.newLine();bufw.flush();}} catch (IOException e) {try {throw e;} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}
}

三.Properties

Properties我们之前就早有接触了,他是hastable的子类,也就是说它具备map集合的特点,而且他里面存储的键值对都是字符串

  • 该对象的特点,可以用于键值对形式的配置文件

这也是一个工具类,我们可以来学习学习,先来演示一下使用情况吧,我们从set,get说起

package com.lgl.hellojava;import java.util.Properties;
import java.util.Set;public class HelloJJAVA {public static void main(String[] args) {SetAndGet();}// 设置和获取元素private static void SetAndGet() {Properties prop = new Properties();prop.setProperty("张三", "20");System.out.println(prop);String property = prop.getProperty("张三");System.out.println(property);Set<String> stringPropertyNames = prop.stringPropertyNames();for (String s : stringPropertyNames) {// 打印姓名System.out.println(s);// 打印值System.out.println(prop.getProperty(s));}}}

一览无余,打印的结果

这里写图片描述

四.读取配置文件

我们配置文件如果已经存在的话,我们就直接去读取了

  • 我们来演示一下如何将流中的数据存储到集合中,想要通过键值对的形式保存起来

说白了就是读取本地的一个文件,然后通过键值对保存起来,我们用代码来实现

/*** 思路* 1.用一个流和info.txt文件关联* 2.读取遗憾数据,将该行数据进行去切割* 等号左边的作为键,右边的就是值*/private static void ReadTxt(){try {BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));String line  = null;Properties properties = new Properties();while((line = bufr.readLine()) != null){System.out.println(line);String [] arr = line.split("=");System.out.println(arr[0]+"...."+arr[1]);//存properties.setProperty(arr[0], arr[1]);}bufr.close();System.out.println(properties);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

这样我们输出的就是

这里写图片描述

五.load

JDK1.6以后出现的load就取代了上面的哪个方式,我们一起来实现一下吧

private static void loadDemo(){try {FileInputStream fish = new FileInputStream("info.txt");Properties properties = new Properties();//将流中的数据加载进集合properties.load(fish);System.out.println(properties);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

这样就可以达到效果了

六.Properties的小练习

  • 用于记录应用程序运行的次数,如果使用次数已到,那么给出注册提示,这个很容易想到的是计算器,可是这个程序中,是自增,而且随着程序而存在的,如果程序退出了,这个计数也同样的消失,下一次启动程序又是从0开始了,这样不是我们想要的

我们现在要做的是程序退出之后数据任然存在而且继续自增,所以我们要创建配置文件去记录使用次数

Ok,我们用键值对的形式保存

package com.lgl.hellojava;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;public class HelloJJAVA {public static void main(String[] args) {try {Properties properties = new Properties();File file = new File("count.ini");if (!file.exists()) {file.createNewFile();}FileInputStream fis = new FileInputStream(file);properties.load(fis);int count = 0;String value = properties.getProperty("time");if (value != null) {count = Integer.parseInt(value);if (count >= 5) {System.out.println("你余额不足呀!");}}count++;properties.setProperty("time", count + "");FileOutputStream fos = new FileOutputStream(file);properties.store(fos, "");fos.close();fis.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

我们得到的结果

这里写图片描述

OK,我们本篇就先到这里,我们下篇在聊

有兴趣的可以加群:555974449

http://www.jmfq.cn/news/4975831.html

相关文章:

  • 免费做三级网站有哪些/seo网络营销公司
  • 哪里可以鉴定钻石/青岛谷歌优化
  • 网站销售公司简介/2022拉人头最暴利的app
  • 宝鸡市建设工程交易中心网站/百度云网页版登录入口
  • dede网站单页面怎么做/短期培训班学什么好
  • 自己的网站是什么样子的/网站建设工作总结
  • 做网站有哪些语言/网络营销图片
  • 番禺网站制作/婚恋网站排名前三
  • 做外贸怎么登陆外国网站/上海城市分站seo
  • 在线免费看影视网站/怎么开发自己的网站
  • 徐州建设网站公司/百度指数免费查询入口
  • 做网站用的编程工具/baidu百度
  • 建域名做网站/成都网站改版优化
  • b2c网站开发核心技术/网站seo优化价格
  • 企业英文网站制作/网络营销评价的名词解释
  • 苏州画廊网站建设/seo主要优化哪些
  • 武汉网络建设公司/上海seo培训
  • 营销网站搭建建议/网推软件有哪些
  • 长沙旅游必去十大景点/怎样优化网站关键词排名靠前
  • 线上设计师都在哪挣钱/seo关键词优化价格
  • 青岛做网站建设价格低/爱链工具
  • dnf怎么做提卡网站/大数据智能营销
  • 如何备份网站/最近三天的新闻大事摘抄
  • 郑州网站建设公司/十八未成年禁用免费app
  • 做网站宣传有用吗/爱站网 关键词挖掘工具站
  • 做针对国外的网站/山东做网站
  • 慈溪网站建设哪家好/怎么免费制作网页
  • app界面设计模板一套/苏州网站建设优化
  • 网站做三方登陆需要注册公司不/苏州搜索引擎排名优化商家
  • 网站建设先进材料/网络营销手段有哪些