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. JS判断页面是在浏览器还是微信打开

    一.Navigator对象 1.获取用户的浏览器信息. let ua = navigator.userAgent.toLowerCase(); 打印一下ua的结果: Mozilla/5.0 (Maci ...

  2. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

  3. 用mongo和redis查询排行榜、统计活跃用户

    nosql数据库能解决关系型数据库遇到的性能和扩展性的问题,本博客将以mongodb和redis两种nosql数据库为基础,简单的介绍下面两个业务场景的解决方案: 1.查询排行榜(以当日总步数排名为例 ...

  4. 基于Python的Webservice开发(三)-Django安装配置

    一.安装Django pip install django 二.创建项目 进入指定的目录后 django-admin startproject WebApi 目录说明: WebApi 项目的容器. m ...

  5. java 新手必看大全

    背景:c#开发人员 学习java 新手一枚.只适合新手 1:配置java环境 (win10环境参考本目录java环境配置) 2:IDEA 熟悉开发工具 (当初没学java 很大的一个原因就是工具e文 ...

  6. cadence学习二----->Allegro基本概念

    Class与Subclass 同一根线在不同的Subclass里的含义不一样,下面介绍常用Class和Subclass的含义 1.Etch 包括TOP和BOTTOM,用于走线和覆铜 2.Package ...

  7. 两个MMCM共享时钟输入时的严重警告和错误

    情景描述: 芯片:zynq7020 问题: 设计从FPGA的U19引脚上的开发板板接收时钟输入125M,并将其送到两个MMCM.使用软件:vivado2015.4在Vivado中打开合成设计后,我得到 ...

  8. 【转】Setting up SDL 2 on Visual Studio 2010 Ultimate

    from: Lazy Foo'Productions - Setting up SDL 2 on Visual Studio 2010 Ultimate 1)First thing you need ...

  9. dash视频服务器本地搭建 (初探)

    2019-4-17 15:54:17 星期三 技术说明: dash: 将一个大视频分解成不同分辨率, 不同清晰度的小视频, 以及一个描述文件(后缀: mpd), 根据网络带宽自动调整视频流, 看起来更 ...

  10. neutron--ml2 plugin

    ml2 plugin 对 plugin 的功能进行抽象和封装,有 ml2 plugin ,各种 network 无需开发自己的 plugin,只需开发 ml2 plugin 相对应的 driver , ...