Java-IO流之File操作和Properties操作
java的File类主要是用来操作文件的元数据,稍作演示如下:
其中方法getAllJavaFile()是使用了过滤器FileFileter,这个过滤器只需要实现accept方法,判断什么样的文件返回true就行。蛮简单的直接贴代码:
/**
* File类主要是用来操作文件的元数据
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File file = new File("file.txt"); if (file == null) {
file.createNewFile();
} System.out.println(file.getName());
System.out.println(file.getParent());
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.length());
System.out.println(file.getUsableSpace());
System.out.println(file.lastModified()); boolean isDelete = false; if (isDelete = file.delete()) {
System.out.println("删除成功!");
} if (file.isDirectory()) {
System.out.println("这是一个文件夹");
} if (file.isFile()) {
System.out.println("这是一个文件夹");
} if (file.exists()) {
System.out.println("该文件存在~");
} System.out.println("遍历文件夹:" + System.getProperty("user.dir")); File rootDir = new File(System.getProperty("user.dir"));
getAllFiles(rootDir); FileFilter filter = new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith("java")) {
return true;
} return false;
}
};
System.out.println("=========================================================================");
getAllJavaFile(rootDir, filter);
System.out.println("=========================================================================");
} private static void getAllJavaFile(File rootDir, FileFilter filter) { if (rootDir.isDirectory()) { File[] javaFiles = rootDir.listFiles(filter);
for (File item : javaFiles) {
System.out.println(item.getName());
} File[] files = rootDir.listFiles();
for (File item : files) {
if (item.isDirectory()) {
getAllJavaFile(item, filter);
}
}
} else {
System.out.println(rootDir.getName());
}
} private static void getAllFiles(File rootDir) {
if (rootDir.isDirectory()) {
File[] files = rootDir.listFiles();
for (File item : files) {
if (item.isDirectory()) {
getAllFiles(item);
} else {
System.out.println(item.getName());
}
}
} else {
System.out.println(rootDir.getName());
}
}
Properties主要用来存储配置信息,可以从流中进行读取,存储到磁盘中,下面是基本使用:
1、getProperties和setProperties方法用来对获得和设置相应的键值对;
2、list方法用来查看所有的信息,
3、store方法用来将配置信息写入磁盘;
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.setProperty("1", "1");
properties.setProperty("2", "2");
properties.setProperty("3", "3");
properties.setProperty("4", "4"); PrintStream print = System.out;
properties.list(print); Properties pFromStream = new Properties();
try (FileInputStream in = new FileInputStream(System.getProperty("user.dir") + "\\eke.test.first.common\\src\\main\\resources\\database.properties")) {
pFromStream.load(in); // 从流中读取properties信息
} pFromStream.list(print); pFromStream.setProperty("test", "1000"); try (FileOutputStream out = new FileOutputStream(System.getProperty("user.dir") + "\\eke.test.first.common\\src\\main\\resources\\database.properties")) {
pFromStream.store(out, "I have nothing to say~"); // 存储到磁盘
} pFromStream.list(print); // 调用list方法,传入输出流参数打印所有的信息
结果如下:
-- listing properties --
4=4
3=3
2=2
1=1
-- listing properties --
port=3306
password=123456
jdbc.driver=com.mysql.jdbc.Driver
database=exe_course
server=jdbc:mysql://localhost
username=root
test=test
-- listing properties --
port=3306
password=123456
jdbc.driver=com.mysql.jdbc.Driver
database=exe_course
server=jdbc:mysql://localhost
username=root
test=1000
Java-IO流之File操作和Properties操作的更多相关文章
- Java IO流中 File文件对象与Properties类(四)
File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果 ...
- Java IO流的写入和写出操作 FileInputStream和FileOutputStream
今天学习了Java的IO流,关于文件的读入和写出,主要是FileInputStream和FileOutputStream来实现,这两个流是字节流.还有字符流(FileReader和FileWriter ...
- 【Java IO流】File类的使用
File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...
- java IO流 之 FIle类基础
package IO; import java.io.File;import java.io.IOException; public class FileIO { /** * 构建及获取文件名信息 * ...
- java IO流之——File类知识总结和面试
File类描述的是一个文件或文件夹.(文件夹也可以称为目录).该类的出现是对文件系统的中的文件以及文件夹进行对象的封装.可以通过对象的思想来操作文件以及文件夹.可以用面向对象的处理问题,通过该对象的方 ...
- 慕课网_文件传输基础——Java IO流
第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import ja ...
- java io流 对文件夹的操作
java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...
- Java IO流操作汇总: inputStream 和 outputStream【转】
我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...
- Java IO流详解(二)——File类
在上一章博客中简单的介绍了Java IO流的一些特征.也就是对文件的输入输出,既然至始至终都离不开文件,所以Java IO流的使用得从File这个类讲起. File类的描述:File类是文件和目录路径 ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
随机推荐
- UEFI+GPT安装WIN7,WIN8/WIN10下安装WIN7双系统
一.BIOS更改 首先来bios更改:我们知道,uefi+gpt引导虽然出来的时间比较长,但是win7还不能完全的支持,所以在使用uefi+gpt安装win7的时候就会出现各种错误!所以我们在安装Wi ...
- NB-IoT是怎么工作的,是否支持基站定位?【转】
转自:http://www.elecfans.com/iot/779658.html 根据我国无线电管理相关要求,明确NB-IoT系统基站应到到属地无线电管理机构办理设台审批,领取无线电台执照.同时, ...
- 【easy】268. Missing Number
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...
- 07binlog日志介绍
设置日志格式为row 创建数据库和表 mysql> create database chinasoft charset=utf8mb4; mysql> use chinasoft; mys ...
- centos命令安装
1.解决ifconfig命令失效:需要安装net-tools工具 yum install net-tools 2.免密码登录 (1)通过命令,产生公钥信息 ssh-keygen -t rsa 如果提示 ...
- Lesson 2-1 (数据结构,序列通用的操作)
2.0 数据结构 --- 数据结构是以某种方式组合起来的数据元素集合. --- python的常见的数据结构 2.1 序列(sequence) --- 序列中的每个元素都有编号,即索引(也称为下标). ...
- mysql5.7版本开始创建用户需要create user
mysql5.7版本开始创建用户需要create user 5.7版本之后,直接使用:grant select on MySQL.test01 to hug@localhost; 是不行的,会报错: ...
- js-将文本复制到剪切板
// 将文本复制到剪切板 var clipboard2 = new ClipboardJS('.add_wx_guide_float', { text: function(trigger) { ret ...
- centos7手把手教你搭建zabbix监控
Centos7安装部署zabbix3.4 centos系统版本: 1.安装前需要先关闭selinux和firewall. 1.1 [root@zabbix ~]# vi /etc/selinux/co ...
- PowerDesigner15连接Oracle数据库并导出Oracle的表结构
PowerDesigner连接Oracle数据库,根据建立的数据源进行E-R图生成.详细步骤如下: 1.启动PowerDesigner 2.菜单:File->Reverse Engineer - ...