java IO总结之文件
来源:互联网 发布:php 类魔术方法 编辑:程序博客网 时间:2024/05/20 13:19
在设计程序的时候,我们经常有这样的需求:把我们的变量打印到控制台,或者把日志记录到文件中,又或是与服务器进行连接…这些需求都可以归结为程序与接收端通信——IO。为了解决这些难题,Java的设计者设计了功能强大的IO类库。Java的标准IO是阻塞IO,也就是我们所说的BIO(Blocking IO),在JDK1.4中,官方又推出效率更高、功能更强大的非阻塞IO——NIO(Non-blocking IO)。本篇文章介绍的是IO中最基础的File类
一、File类简介
Java设计者的用File来表示操作系统中各种各样的文件和目录,使用File可以完成一些关于文件和目录的基本操作:创建、删除文件,创建、删除目录,列出目录下的所有文件
二、创建文件
String fileName = "E:" + File.separator+"hello.txt";File file = new File(fileName);if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); }}
上面文件路径中用到了一个常量File.separator,表示文件分隔符。不同操作系统的文件分隔符不同,在程序中最好不要写死。File.separator可以获取系统的文件分隔符
注意:文件目录必须是存在的,否则程序会出现异常。比如:
String fileName = "E:" + File.separator + "A" + File.separator + "hello.txt";
我的文件系统中没有A文件夹,运行程序,就会报下面的异常
java.io.IOException: 系统找不到指定的路径。
解决办法是先创建相应的文件夹,然后再创建文件,创建文件夹后面会讲到
三、删除文件
String fileName = "E:" + File.separator + "hello.txt";File file = new File(fileName);if (file.exists()) { file.delete();}
如果文件不存在,调用delete方法看不到任何效果
四、创建文件夹
String folderName = "E:" + File.separator + "java";File folder = new File(folderName);folder.mkdirs();
五、删除文件夹
String folderName = "E:" + File.separator + "java";File folder = new File(folderName);if (folder.isDirectory()) { folder.delete();}
六、判断一个指定的路径是否为目录
String folderName = "E:" + File.separator + "java";File folder = new File(folderName);System.out.println("is Directory :"+folder.isDirectory());
七、列出指定文件夹下的所有文件和文件夹(包括隐藏文件)
String folderName = "E:" + File.separator;File folder = new File(folderName);if (folder.isDirectory()) { String[] fileList = folder.list(); for (String file : fileList) System.out.println(file);}
list列出来只是文件名,如果需要文件完整路径,可以这样写
String folderName = "E:" + File.separator;File folder = new File(folderName);if (folder.isDirectory()) { File[] fileList = folder.listFiles(); for (File file : fileList) System.out.println(file);}
八、搜索指定目录的全部文件
public void listAllFile(File file) { if (file == null) return; if (file.isDirectory()) { File[] fileList = file.listFiles(); if (fileList != null) { for (File file1 : fileList) { // 递归调用 listAllFile(file1); } } } else { System.out.println(file); }}
0 0
- java IO总结之文件
- java文件IO总结
- java.io之文件
- Java之文件IO
- Java.io之文件
- java IO总结之字节流操作文件读写
- java IO总结之字符流操作文件读写
- java io文件操作总结
- JAVA 文件IO简单总结
- Java学习总结之IO
- Java学习之IO总结
- java之IO流总结
- java学习总结之IO
- Java之IO操作总结
- Java之IO操作总结
- java之IO流总结
- JAVA学习之IO总结
- Java之IO流总结
- MyBatis缓存机制和Hibernate缓存机制
- gulp基本用法
- USACO1.3 修理牛棚 Barn Repair
- C++如何设计一个不含指针的类 (Boolan笔记第一周)
- c#画平行线和垂线的代码
- java IO总结之文件
- 线段树背诵用模板
- Android Studio Gradle打包实践之多渠道+版本号管理
- 常用SQL查询语句
- MFC:调用Invalidate()的作用
- spring maven 搭建dubbo框架 服务端
- [Android开发] EventBus3 使用方法教程总结
- running android lint has encountered a problem
- 先锋机器人学习笔记_1-3 2d 建模和 Mapper 地图编辑器