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中,可以从其中读取一个字节序列的对象 ...
随机推荐
- JS 循环定时的一些思考
网上也有例子, function doSetTimeout(i) { setTimeout(function() { console.log(i); }, 1000); } for (var i = ...
- Mac os x下几款mysql客户端
Mac os x几款mysql客户端 1,Navicat 这是一款可支持多种数据库的客户端,可支持mysql,sqlite,oracle,sql server等数据库.当然也可以选择只支持某种数据库的 ...
- DotNet 资源大全(转)
awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. https://github.com/jo ...
- OSG开源教程(转)
例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状. ...
- requests使用retry策略
在urllib3中使用retry 在requests中使用retry 网络请求往往会有很多不受控制的意外情况发生,有时候我们要让它let it crash,有时候我们想多尝试几次. 以前,使用retr ...
- hibernate核心类及常用方法
Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildS ...
- 开源智能英文单词提取翻译工具(C#)
WordsTool 这个工具用于分析文本文件中所有的英语单词 并且通过内置字典数据库工具对这些单词进行解析 可以生成表格形式 并且支持导出到excel文件中 用于学习单词 本代码禁止商业用途 如需要商 ...
- mysql5.7版本开始创建用户需要create user
mysql5.7版本开始创建用户需要create user 5.7版本之后,直接使用:grant select on MySQL.test01 to hug@localhost; 是不行的,会报错: ...
- JS监听浏览器的返回、后退、上一页按钮的事件方法
在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包等 ...
- Centos7创建支持ssh服务的docker镜像
如何在centos7中使用docker创建一个支持ssh连接的容器 1.拉取centos7.4镜像(由于7.4目前是最稳定的版本,所以推荐使用centos7.4) docker pull centos ...