public static void main(String[] args)

{

//
getFile();

/*

* 需求:  对指定目录进行所有内容的列出,(包含子目录中的内容)

*

*/

File dir = new File("E:\\HB_JAVA解压");

listAll(dir, 0);

}

public static void listAll(File dir, int len)

{

System.out.println(getSpace(len) + dir.getName());

len++;

//获取指定目录下   当前的所有文件夹  或者文件对象。

File[] files = dir.listFiles();

for(File f: files)

{

if(f.isDirectory())

{

listAll(f, len);

}

else

System.out.println(getSpace(len)+f.getName());

}

}

//获取空格。。。。。。。。

public static String getSpace(int len)

{

// TODO Auto-generated method stub

StringBuilder sb = new StringBuilder();

sb.append("|--");

for(int i=0; i<len; i++)

{

sb.insert(0, "|  ");

}

return sb.toString();

}

public static void getFile()

{

/*

* 获当前目录下的文件以及文件夹的名称,包含隐藏文件。

* 调用list方法的File对象中封装的必须是目录。。。。。。。。。

* 否则会发生空指针异常。

* 如果目录存在但是没有内容,会返回一个数组,但是长度为0

*/

File file = new File("c:\\");

String[] names = file.list();

for(String name: names)

{

System.out.println(name);

}

}

====================================================关于Properties=====================

//修改Properties中的数据

public static void updateProperties() throws IOException,

FileNotFoundException

{

/*

* 对已有的   配置文件中  数据进行修改。

* 1.读取这个文件。

* 并将这个问题文件中的键值对数据存储到集合中。

* 在通过集合对数据进行修改。

* 在通过流将修改后的数据存储到文件中。

*/

//读取这个文件

File file = new File("info.txt");

if(! file.exists())

{

//如果文件不存在。

file.createNewFile();//创建文件。

}

FileReader fr = new FileReader("");

//创建集合

Properties prop = new Properties();

//将流中信息存储到集合中。

prop.load(fr);

//开始修改。。

prop.setProperty("yangchao", "19");

//开始写入

FileWriter fw = new FileWriter(file);

prop.store(fw, "info");

//关闭流

fw.close();

fr.close();

}

//读取Properties中的数据

public static void PropertiesReader() throws FileNotFoundException,

IOException

{

/*

* 集合中的数据来自于一个文件。

* 必须要保证文件汇总的数据是键值对。

* 需要使用到读取流

*/

Properties prop = new Properties();

FileInputStream fis = new FileInputStream("");

//使用load方法。

prop.load(fis);

prop.list(System.out);

}

//将Properties中的信息   写入到硬盘上

public static void PropertiesWriter() throws FileNotFoundException,

IOException

{

Properties prop = new Properties();

//存储元素:

prop.setProperty("yangchao", "24");

prop.setProperty("xiaoxueqiang","23");

prop.setProperty("yangchunwang", "20");

prop.setProperty("renwei", "22");

//想要将这些集合中的字符串键值信息持久化存储在硬盘上

//需要相关    关联输出流

FileOutputStream fos = new FileOutputStream("info.txt");

//将集合中给的数据存储到文件中使用store方法

prop.store(fos, "info");

fos.close();

}

----------------------------------------应用********************2014/05/26 10:40

/*

* 定义功能,获取一个应用程序运行的次数,如果超过5次,给出使用次数已到,  请注册的提示。 并不要运行该程序。

*

* 思路:

* 1.应该有计数器。每次程序启动都需要计数一次。并且是在原有的基础次数上进行计数

* 2.计数器就是i一个变量,程序启动时就应该进行计数,计数器 就应该存在于内存中,进行运算。程序结束  计数器  消失。;

* 程序一结束,计数器就消失,在此启动程序,计数器又重新初始化。

* 而我们需要多次启动同意个应用程序,使用的是同一个计数器。

* 就需要吧计数器的声明周期边长,从内存中到硬盘上。

* 3.如何使用这个计数器?


首先程序启动时,应该先读取这个用于记录计数器信息的配置文件。


获取上一次计数器值。并进行判断。。。。。。。


器次对计数器的值进行自增。并自增后的次数重新存储到配置文件中。

*/

public class PropertiesTest2

{

public static void getAppCount() throws IOException

{

//将配置文件封装成File对象.

File confile = new File("conunt.properties");

if(!confile.exists())

{

confile.createNewFile();

}

FileInputStream fis = new FileInputStream(confile);

Properties prop = new Properties();

prop.load(fis);

//从集合中通过键获取次数

String value = prop.getProperty("time");

//定义计数器,记录获取到的次数。

int count = 0;

if(value != null)

{

count = Integer.parseInt(value);

//开始判断  次数

if(count >= 5)

{

System.out.println("使用次数已到,  请注册!!!");

throw new RuntimeException("没给钱");

}

}

count++;

//将改变后的次数  重新存储到集合中

prop.setProperty("time", count+"");

//存储完后   开始写到 文件中

FileOutputStream fos = new FileOutputStream(confile);

prop.store(fos, "info");

fos.close();

fis.close();

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java——File(文件)的更多相关文章

  1. Java file文件的写入和读取及下载

    File文件的写入 一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定 ...

  2. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  3. java File文件操作共用方法整理

    package org.jelly.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  4. [Java] File文件列表

    package test.file; import java.io.File; import java.io.FilenameFilter; /** * 文件列表,文件过滤 * @author Fro ...

  5. JAVA file文件操作

    /** *文件重命名 * @param oldname 原来的文件名 * @param newname 新文件名 */ @RequestMapping("renameFile") ...

  6. java:file文件类

    public class FileDemo { public static File file; public static void main(String args[]) { String s = ...

  7. Java File 类的使用方法详解

    Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...

  8. Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...

  9. Java File类方法使用详解

    Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍. 构造函数 public cl ...

  10. 【56】java本地文件File类详解

    1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...

随机推荐

  1. jquery的监听事件和触发事件

    监听事件 $(selector).on('Event me',function(e){ //do something }) 触发事件 $(selector).trigger('Event name') ...

  2. 详解模块定义(.def)文件

    一个完整的Windows应用程序(C++程序)通常由五种类型的文件组成:源程序文件,头文件,资源描述文件,项目文件,模块定义文件.本文主要讲解模块定义文件. 模块定义 (.def)文件为链接器提供有关 ...

  3. Ubuntu 14.10 下开机不进入图形化界面

    因为装的是Ubuntu 桌面版,很占资源,所以启动时候不进入图形化界面,肯定会省不少内存 进入  /etc/X11/default-display-manager  sudo nano/etc/X11 ...

  4. Python学习路程day3

    set集合 ​set是一个无序且不重复的元素集合,访问速度快,天生解决重复问题 s1 = set() s1.add('luo')​ s2 = set (['luo','wu','wei','ling' ...

  5. hdu 2085

    PS:递推题..  a[n]=a[n-1]*3+2*b[n-1]  b[n]=a[n-1]+b[n-1] 代码: #include "stdio.h" ]; ]; int main ...

  6. 2016 - 1- 22 img tag and the lists (intro to HMTL&CSS)

    1 :The img tag img tag allows put some img file into page. just like : <a href = "me.png&quo ...

  7. Js的 "继承"

    Js 和 Java , C等语言不是很一样 . 其他语言有 类和实例 但是Js就比较特殊 , 所以 类和实例 只能说是大多数面向对象编程的语言的基本概念 . Js比较特殊 , 它不去分类和实例的概念 ...

  8. mantis增加密码修改

    解决方式就是考虑修改Mantisbt PHP程序,增加一个密码修改框,这样管理员就可以直接修改用户密码了.     操作步骤如下:    1) 修改文件 manage_user_edit_page.p ...

  9. Mac OS 使用Git

    入门教程的流程: 什么是Git----------------->为什么选择Git----------------->如何安装Git到MAC OS X------------------& ...

  10. 通过 itms-services 协议,发布或者分享 iOS 应用程序

    导读:itms-services 协议常用于 iOS 企业应用的无线部署,这可在不使用 iTunes 的情况下将内部软件发布或者分享给用户. 一.前期准备资料: 1.应用程序 (.ipa) 文件(使用 ...