Java IO流中 File文件对象与Properties类(四)
File类
用来将文件或目录封装成对象
方便对文件或目录信息进行处理
File对象可以作为参数传递给流进行操作
File类常用方法
创建
boolean
createNewFile():创建新文件,如果文件存在,返回false
boolean
mkdir():创建目录,只能创建一级目录
boolean
mkdirs():创建目录,可创建多级目录
删除
boolean
delete():删除文件,如果文件不存在,返回false,如果删除的是目录,需要确保目录是空的
void
deleteOnExit():程序结束时删除文件
判断
boolean
exists():判断文件是否存在
boolean
isFile():判断是否是一个文件
boolean
isDirectory():判断是否是目录
boolean
isHidden():判断文件是否隐藏
boolean
isAbsolute():判断是否是绝对路径
boolean
canExecute():判断文件可否执行
boolean
canRead():判断文件是否可读
boolean
canWrite():判断文件是否可写
获取信息
String
getName():获取文件名
String
getParent():获取文件路径
String
getPath():获取封装进对象的路径
File
getAbsoluteFile():获取绝对路径文件对象
String
getAbsolutePath():获取绝对路径
long
lastModified():获取最后修改时间
long
length():获取大小
static File[]
listRoots():静态方法,获取系统可用根目录
String[]
list():获取目录中文件的文件名
String[]
list(FilenameFilter filter):过滤文件名并获取
File类简单应用
打印.java文件
1:
2: //打印指定目录中的.java文件
3: private static void fileFilter()
4: {
5: File f = new File("d:\\code\\java_blog_code");
6:
7: //FilenameFilter用来设置过滤器
8: String[] s = f.list(new FilenameFilter()
9: {
10: public boolean accept(File dir,String name)
11: {
12: if(name.endsWith(".java"))
13: return true;
14: else
15: return false;
16: }
17: });
18:
19: for(String ss : s)
20: {
21: System.out.println(ss);
22: }
23: }
打印层级目录文件
1: //根据层级打印制表符
2: private static void printLevel(int level)
3: {
4: for(int i = 0 ; i < level ; i ++)
5: {
6: System.out.print("\t");
7: }
8: }
9:
10: //利用递归,分层次打印指定目录的文件
11: private static void showFiles(File dir,int level)
12: {
13: //打印目录名
14: printLevel(level);
15: System.out.println(dir.getName());
16:
17: File[] files = dir.listFiles();
18:
19: for(File f : files)
20: {
21: if(f.isDirectory())
22: //如果是目录,传入方法进行递归
23: showFiles(f,level+1);
24: else
25: {
26: //打印文件列表
27: printLevel(level+1);
28: System.out.println(f.getName());
29: }
30: }
31: }
Properties类
文件配置信息专用类,Hashtable的子类,内部存放一些文件属性的键值对信息,如果较复杂信息可使用xml存储,简单键值对使用Properties存取
Properties常用方法
String
getProperty(String key):通过key获取value信息
void
load(InputStream inStream):从字节流加载键值对信息
void
load(Reader reader):从字符流加载键值对信息
Object
setProperty(String key, String value):设置键值对信息
void
store(OutputStream out, String comments):将键值对信息导入到字节流
void
store(Writer writer, String comments):对键值对信息导入到字符流
Properties简单应用
模拟限制程序运行次数
1: import java.io.*;
2: import java.util.*;
3:
4: /*
5: 模拟限制程序运行次数
6: */
7: class PropertiesDemo
8: {
9: public static void main(String[] args) throws IOException
10: {
11:
12: Properties prop = new Properties();
13:
14: //导入info.txt的字节流信息
15: prop.load(new FileInputStream("info.txt"));
16:
17: //获取程序运行次数
18: String times = prop.getProperty("times");
19:
20: //如果第一次运行,则设置次数为1
21: if(times == null)
22: prop.setProperty("times","1");
23: //如果次数大于5次,则打印缴费信息,退出程序
24: else if(times.compareTo("4") > 0)
25: {
26: System.out.println("times greater than 5!please donate money!");
27: System.exit(0);
28: }
29: //程序在允许运行次数范围内,获取次数,并加1
30: else
31: {
32: prop.setProperty("times",""+(Integer.parseInt(times)+1));
33: }
34:
35: //将设置的新次数写入到info文件中
36: prop.store(new FileOutputStream("info.txt"),"times");
37:
38: //程序主题,可无视
39: for(int i = 0 ; i < 10 ; i ++)
40: {
41: System.out.println("i = "+i);
42: }
43:
44:
45: }
46:
47:
48: }
转载于:https://www.cnblogs.com/jiangzhaowei/p/7391263.html
Java IO流中 File文件对象与Properties类(四)相关推荐
- java IO流读取保存图片文件
java IO流读取保存图片文件 package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...
- Java IO流以及File类
目录 File类概述 File类常用方法 IO流 io流分类 Writer字符输出流 覆盖写入 追加写入 Reader字符输入流 字节流 字节输出流 覆盖写入 字符输入流 文件的拷贝 字符流文件的拷贝 ...
- 一篇文章总结java IO流(File、字节流、字符流、特殊操作流)
目录 1.File 1.1 File类概述和构造方法 1.2 File类创建功能 1.3 File类删除功能 1.4 File类判断和获取功能 2.字节流 2.1 IO流概述和分类 2.2 字节流写数 ...
- java io流读取txt文件_Java使用IO流读取TXT文件
通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputS ...
- Java IO流之普通文件流和随机读写流区别
普通文件流和随机读写流区别 普通文件流:http://blog.csdn.net/baidu_37107022/article/details/71056011 FileInputStream和Fil ...
- java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...
- java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学
原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...
- java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦
一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...
- javaio流_一文带你看懂JAVA IO流,史上最全面的IO教学啦
一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操 ...
最新文章
- 关于pycharm右键只能选择run Unit不能直接run的解决方法
- [转] 使用模板自定义 WPF 控件
- linux vss rss区别,关于VSS / RSS / PSS / USS的解释是否准确?
- Pyinstaller将Python程序打包成EXE(多种模式的打包)
- Java中集合(五)Set
- 我来说说java的NIO
- 同步方法 调用异步防范_.NET Web应用中为什么要使用async/await异步编程?
- 【Flink】Flink 使用 ParameterTool 进行传参
- int 和String之间的互转
- 20. Magento 创建新闻模块(1)
- 高校学籍管理系统(SQL Server数据库课程设计)
- 专题开发十三:JEECG微云高速开发平台-附录
- APP测试---adb命令使用(monkey、input、11大事件等),附按键表(keycode)
- 合同原件、传真件、扫描件法律效力解析
- ckeditor拖拽添加html,CKEditor插入HTML
- 用什么擦地最干净脑筋急转弯_你没想过的“脑筋急转弯”,才是启发孩子智力的法宝(附资源下载)...
- 2020哈工程上岸初复试经验
- Lodash的一些基本使用
- Js设置动态的key指
- 基于面向对象与UML的学籍管理系统设计
热门文章
- 留学申请计算机硕士个人陈述,申请美国计算机专业英文个人陈述
- 【深度学习】深入浅出神经网络框架的模型元件(常用层和卷积层)
- python 之属性_Python之对象的属性
- aspose.words 合并相同值的单元格_合并相同的单元格,你用了1小时,同事只要30秒,还支持自动刷新...
- 2020年网站优化思路从哪着手?
- 百度实名制后如何进行网站优化?
- 哪一类功率放大电路效率最高_电路分析基础(8)-最大功率传输与阻抗匹配分析...
- 宏基微型计算机c650使用方法,c650卧式车床的控制系统的pc控制改造毕业设计正文.doc...
- led灯条串联图_飞利浦32寸LED液晶显示器故障维修记
- 开发日记-20190428