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():判断文件是否可写
获取信息
File
getAbsoluteFile():获取绝对路径文件对象
String
getAbsolutePath():获取绝对路径
long
lastModified():获取最后修改时间
long
length():获取大小
static File[]
listRoots():静态方法,获取系统可用根目录
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: }
Java IO流中 File文件对象与Properties类(四)的更多相关文章
- Java笔记(二十七)……IO流中 File文件对象与Properties类
File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果 ...
- IO流中File文件最常用和直接的用法
一.File (一)概述 1.File: 1)文件和目录(文件夹)路径名的抽象表示形式 2)注意: 可以表示文件夹与文件,即路径与文件 抽象概念,即路径与文件是否存在不确定 2.构造方法 1)Fi ...
- 揭开Java IO流中的flush()的神秘面纱
大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...
- Java IO流中的File类学习总结
一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...
- java IO流实现删除文件夹以及文件夹中的内容
这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...
- java Io流输出指定文件的内容
package com.hp.io; import java.io.*; public class BufferedReaderTest{ /** *@param 想想 */ public st ...
- 【Java IO流】File类的使用
File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
- JAVA IO流编程 实现文件的写入、写出以及拷贝
一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...
- java IO流之——File类知识总结和面试
File类描述的是一个文件或文件夹.(文件夹也可以称为目录).该类的出现是对文件系统的中的文件以及文件夹进行对象的封装.可以通过对象的思想来操作文件以及文件夹.可以用面向对象的处理问题,通过该对象的方 ...
随机推荐
- ubuntu lamnp 环境的安装/卸载 及 配置
安装mysql--------------------------------------sudo apt install mysql-server #5.7版本 安装php----------- ...
- python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。
1.首先分析请求,打开4399网站. 右键检查元素或者F12打开开发者工具.然后找到network选项, 这里最好勾选perserve log 选项,用来保存请求日志.这时我们来先用我们的账号密码登陆 ...
- (十二)python3 迭代器
可以直接作用于 for 循环的对象统称为可迭代对象: Iterable .一类是集合数据类型,如 list . tuple . dict . set . str 等,一类是 generator ,包括 ...
- Django 模版语法 一
创建项目 django_template 和 app django-admin startproject django_template python manage.py startapp app01 ...
- BNUOJ 1589 Closest Common Ancestors
Closest Common Ancestors Time Limit: 2000ms Memory Limit: 10000KB This problem will be judged on PKU ...
- [luoguP2401] 不等数列
传送门 f[i][j]表示前i个数有j个<的方案数 #include <cstdio> #define N 1001 #define p 2015 int n, k; int f[N ...
- easyUi 学习笔记 (一) 使用easyui 和ztree 创建前端框架
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- console command
routes/console.php copy一个默认的 Artisan::command('hello', function () { $this->comment('hello world' ...
- android 获取手机信息工具类
package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.Telep ...
- Guake Terminal ── linux下完美帅气的终端
虽说如今非常多Linux发行版.比方Ubuntu,已经基本上能够採用GUI来完毕绝大部分一般性的任务. 可是,终端程序对于linux用户来说仍是不可缺少的. Gnome自带的gnome-termina ...