Java——File(文件)
{
//
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(文件)的更多相关文章
- Java file文件的写入和读取及下载
File文件的写入 一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定 ...
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- java File文件操作共用方法整理
package org.jelly.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...
- [Java] File文件列表
package test.file; import java.io.File; import java.io.FilenameFilter; /** * 文件列表,文件过滤 * @author Fro ...
- JAVA file文件操作
/** *文件重命名 * @param oldname 原来的文件名 * @param newname 新文件名 */ @RequestMapping("renameFile") ...
- java:file文件类
public class FileDemo { public static File file; public static void main(String args[]) { String s = ...
- Java File 类的使用方法详解
Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...
- Java File 类的使用方法详解(转)
转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...
- Java File类方法使用详解
Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍. 构造函数 public cl ...
- 【56】java本地文件File类详解
1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...
随机推荐
- java批量插入数据进数据库中
方式1: for循环,每一次进行一次插入数据. 方式2: jdbc的preparedStatement的batch操作 PreparedStatement.addBatch(); ...... Pre ...
- 速度!!!抢KIS英文版(多设备版)3年激活码
活动地址 http://promo.kaspersky.com/wvu直接打不开,需要用 US 的 在 线 代 理,暂时提供1个(204.12.228.235)可以绕过第一步邮箱验证注意:3年版多设备 ...
- 如何使用SVN管理我们的源代码
今天把公司的SVN服务器配置给做了一下,根据公司部门的不同,划分了不同的访问目录,并给不同目录配置了相应的权限,算是把这份差事给干完了,但其实我对自己的工作是不满意和有遗憾的,因为目前公司的SVN服务 ...
- 操作系统:cpu调度 6-25
1. 进程选择 1小时和1分钟? 进程优先1分钟,再执行1小时. 时间短的进程先执行,执行顺序也有关. 2. 遇到io操作,执行的进程先让出cpu,切换其他进程. 3.进程先来先服务,进程调度策略: ...
- GCD的用法
单例的实现 + (BindingRedResourceWIndow *)sharedInstance { static id sharedInstance = nil; static dispatch ...
- Add Two Numbers ---- LeetCode 002
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- Unity3D ShaderLab 修改渲染队列进行深度排序
Unity3D ShaderLab 修改渲染队列进行深度排序 为了更深刻的理解透明度,我们还需要学习一下深度排序,简单来说就是物体被渲染的先后顺序. Unity允许我们通过代码来控制某个特定物体渲染到 ...
- Bat脚本处理ftp超强案例解说
Bat脚本处理ftp超强案例解说 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/31 ...
- Pike学习笔记
Pike的安装(Ubuntu环境) pike的语法非常像C++,但是它也是脚本语言,所以具有一般脚本语言的特性.一个简单的pike程序,hello world: int main() { write( ...
- window8快捷键
win8中有很多比较重要的快捷键经常忘记: cmd快捷键:win+x; 截图工具:win+q; 添加环境变量:右键点击左下角window图标; 添加定时任务:右键点击计算机管理->任务计划程序.