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操作的更多相关文章

  1. Java IO流中 File文件对象与Properties类(四)

    File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果 ...

  2. Java IO流的写入和写出操作 FileInputStream和FileOutputStream

    今天学习了Java的IO流,关于文件的读入和写出,主要是FileInputStream和FileOutputStream来实现,这两个流是字节流.还有字符流(FileReader和FileWriter ...

  3. 【Java IO流】File类的使用

    File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...

  4. java IO流 之 FIle类基础

    package IO; import java.io.File;import java.io.IOException; public class FileIO { /** * 构建及获取文件名信息 * ...

  5. java IO流之——File类知识总结和面试

    File类描述的是一个文件或文件夹.(文件夹也可以称为目录).该类的出现是对文件系统的中的文件以及文件夹进行对象的封装.可以通过对象的思想来操作文件以及文件夹.可以用面向对象的处理问题,通过该对象的方 ...

  6. 慕课网_文件传输基础——Java IO流

    第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import ja ...

  7. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

  8. Java IO流操作汇总: inputStream 和 outputStream【转】

    我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...

  9. Java IO流详解(二)——File类

    在上一章博客中简单的介绍了Java IO流的一些特征.也就是对文件的输入输出,既然至始至终都离不开文件,所以Java IO流的使用得从File这个类讲起. File类的描述:File类是文件和目录路径 ...

  10. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

随机推荐

  1. 论文翻译:BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or −1

    目录 摘要 引言 1.BinaryNet 符号函数 梯度计算和累积 通过离散化传播梯度 一些有用的成分 算法1 使用BinaryNet训练DNN 算法2 批量标准化转换(Ioffe和Szegedy,2 ...

  2. P5305 [GXOI/GZOI2019]旧词

    题目地址:P5305 [GXOI/GZOI2019]旧词 这里是官方题解 \[\sum_{i \leq x}^{}\ depth(lca(i,y))^k\] \(k = 1\) 求的是 \(\sum_ ...

  3. 结合jira搭建自动化测试平台

    mysql 语句查看 python manage.py sqlmigrate your_app_name 0001 代码如下 #coding=utf8 #https://jira.readthedoc ...

  4. js-面试题整理

    var Foo = function(){ getName = function(){alert(1)}; return this; } Foo.getName = function(){alert( ...

  5. 基于Https协议返回Jason字符串

    一:代码结构 二:框架结果: spring+springMvc+springJdbc 三:源代码 1:Ctrl 层 package com.todaytech.yth.gdsd.base.DataIn ...

  6. js实现多个小球碰撞

    实现思路:小球的移动,是通过改变小球的left和top值来改变,坐标分别为(x,y)当x/y值加到最大,即加到父级的宽度或者高度时,使x值或者y值减小,同理当x值或者y值减到最小时,同样的使x值或者y ...

  7. 微信小程序开发01 --- 微信小程序项目结构介绍

    一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...

  8. Bootstrap-datepicker3官方文档中文翻译---I18N/国际化(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)

    I18N/国际化 这个插件支持月份和星期名以及weekStart选项的国际化.默认是英语(“en”); 其他有效的译本语言在 js/locales/ 目录中, 只需在插件后包含您想要的地区. 想要添加 ...

  9. Vuejs自定义select2指令

    在做select2插件的时候遇到一些坑,最终解决如下: Vue.directive('select2', { inserted: function (el, binding, vnode) { var ...

  10. 详解如何在 Linux 启动时自动执行命令或脚本

    我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...