• 1、File类的重要方法(Java中文件、文件夹都用File类表示)

    构造函数:

public File(String pathname);//根据指定的路径创建File对象。
public File(String parent, String child);//根据指定的父文件夹和子文件或者文件夹创建File对象
public File(File parent, String child);//根据指定的父文件夹对象和子文件或者文件夹创建File对象

    判断类型:

boolean isDirectory();//是文件夹
boolean isFile();//是文件

    如果是文件夹:

boolean mkdir();//创建指定的目录,如果存在,就不创建。
boolean mkdirs();//创建指定的目录,如果存在,就不创建。这个时候,如果父目录不存在,它也会自动创建。
boolean delete();//删除这个文件或者文件夹。如果你删除的文件夹下还有内容,那么,必须先把所有内容删除完毕后,再删除文件夹。直接删除,不会保存到回收站。
boolean exists();//判断file对象是否存在
boolean canRead();//判断file对象是否可读
boolean canWrite();//判断file对象是否可写
String getAbsolutePath();//获取绝对路径
String getPath();//获取相对路径
String getName();//文件名称
long length();//文件大小,单位是字节
long lastModified();//上次修改时间的毫秒值。
public static File[] listRoots();//列出可用的系统文件根目录
public String[] list();//返回的是指定目录下所有文件或者文件夹的名称数组
public File[] listFiles();//返回的是指定目录下所有文件或者文件夹对象数组
  • 2、FileInputStream和FileOutputStream的文件复制的案例
public static void copy(InputStream inputStream,OutputStream outputStream,int bufferSize) throws IOException {
if(inputStream == null) {
throw new IllegalArgumentException("inputStream不能为null");
}
if(outputStream == null) {
throw new IllegalArgumentException("outputStream不能为null");
}
if(bufferSize <= 0) {
throw new IllegalArgumentException("bufferSize不能小于0");
} byte[] buffer = new byte[bufferSize];
int len = 0;
while((len = inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,len);
}
}
  • 3、BufferedWriter及关闭顺序问题

    注意关闭的顺序:如果先关闭Stream,那么Writer就可能还没有把缓冲的数据写入,那只能强制writer.flush

    应该先关闭Writer(关闭之前把没有写入的自动flush写入)这样就不用手动flush,Stream关闭之后就写入不了东西了

    先关闭依赖的、再关闭被依赖的:BufferedWriter→OutputStreamWriter→OutputStream

  • 4、Properties配置文件的读取

    配置文件的格式:

ServerIP=192.168.1.99
UserName=yzk
Password=123
public static void main(String[] args) {
Properties properties = new Properties();
try (InputStream inputStream = PropertiesTest.class.getClassLoader().getResourceAsStream("com/rupeng/test/p.properties");) {
properties.load(inputStream);
String ip = properties.getProperty("ip");
String usename = properties.getProperty("username", "zcl"); System.out.println(ip);
System.out.println(usename);
} catch (IOException e) {
e.printStackTrace();
}
}

最新文章

  1. downsampling and upsampling【转】
  2. 不需要了解任何底层知识,就可以汉化!Let`s go!!!
  3. sql 入门经典(第五版) Ryan Stephens 学习笔记 (第一,二,三,,四,五章)
  4. DBA_Oracle Erp中某个Form需进行升级Patch详解(案例)
  5. My97DatePicker的calendar.js的反混淆
  6. 解决svn “clean up&quot; 失败
  7. 进入IT行业,你后悔过吗?
  8. jquery获取和失去焦点改变样式
  9. Pro Aspnet MVC 4读书笔记(5) - Essential Tools for MVC
  10. C# .NETWEB开发6大内置对象
  11. dotnetcore ef 调用多个数据库时用户命令执行操作报错
  12. LeetCode 链表(旋转链表61)
  13. oracle9i的erp数据库无法正常关闭的解决方法。
  14. python自动化开发-[第十三天]-前端Css续
  15. 使用git工具上传自己的程序到github上
  16. POJ 3104 Drying (经典)【二分答案】
  17. shell脚本中的set -e和set -o pipefail
  18. 详解.NET IL代码(一)
  19. Hadoop2.2.0分布式安装配置详解[3/3]
  20. CAP原则(CAP定理)、BASE理论

热门文章

  1. 18 12 29 css background
  2. nginx log 切割
  3. 软件设计之基于Java的连连看小游戏(三)——所有功能的实现
  4. PHP+InfiniteScroll实现网页无限滚动加载数据实例
  5. Vue-router(4)之路由跳转
  6. JavaScript学习总结(五)
  7. vue-router HTML5 History 模式(转自官网)
  8. zookeeper以及集群的搭建
  9. chrome安装switchyomega
  10. Java机器学习软件介绍