java 中 “文件” 和 “流” 的简单分析
2017-11-26 17:14
148 查看
java 中 FIle 和 流的简单分析
File类
简单File 常用方法
创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称、大小等//创建一个File 对象,检验文件是否存在,若不存在就创建然后对File package wfu; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Scanner; public class Test1 { public static void main(String[] args) { System.out.println("Please input the file's name"); Scanner scanner = new Scanner(System.in); //从控制台输入文件路径名字 String pathName = scanner.next(); //根据路径的名字创建一个Filea 对象 File file = new File(pathName);//从这里可以看出,File 这个方发中的参数是一个字符串 //如果文件不存在,就创建一个 if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("文件是否存在:"+file.exists()); System.out.println("是文件吗:"+file.isFile()); System.out.println("是目录吗:"+ file.isDirectory()); System.out.println("名称" + file.getName()); System.out.println("路径" + file.getPath()); System.out.println("绝对路径:"+ file.getAbsolutePath()); System.out.println("最后的修改时间:"+ new Date(file.lastModified()).toString()); System.out.println("文件大小:" + file.length()); } }
运行结果
f:yjlblog.exe 文件是否存在:true 是文件吗:true 是目录吗:false 名称yjlblog.exe 路径f:yjlblog.exe 绝对路径:f:\\yjlblog.exe 最后的修改时间:Sat Nov 25 19:48:42 CST 2017 文件大小:0
说明:
对于上述代码中
lastModifued()方法返回文件最后的修改时间。该时间是一个长整数,是与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数。因此通过
Datel类进行封装,即new 一个Date 对象,其中参数获取毫秒数。
文件列表器
String[] list() :当File 类对象为目录时,返回该目录下所有文件以及子目录File[] list() :返回File 对象对应的路径下的所有文件对象数组
对于这两个方法来说,第二种方法更加好一点,为什么这吗说呢,因为她可以调用file 的好多方法呀
举个栗子OAO
定义一个类,演示利用list()方法把
f根目录下的目录或者文件的名称列举出来。
public class Test1{ public static void main(String[] args) { //根据路径名称穿件File 对象 File file = new File("f:"); //得到文件名列表 if (file.isDirectory()) { String[] fileNames = file.list(); //利用for-each 打印各个文件名称 for (String fileNamesSeeall : fileNames) { System.out.println(fileNamesSeeall); } } } }
运行结果
$RECYCLE.BIN 111 360Rec Adobe After Effects CC 2014精简绿色版 Adobe After Effects CC 2014精简绿色版.rar Adobe Premiere Pro Preview Files amp皮肤 hlw.mp4 java 大项目实时更新 JAVA项目 MLO4.2.1.rar mmexport1510996082011.png mysql-connector-java-5.1.20-bin.jar navicat_permium_x64 navicat_permium_x64.7z orcle 安装遇到的问题.txt System Volume Information TeamViewer Corporate 12.0.88438.7z test2.txt typecho-theme-apollo-1.0.2.zip WPS+Office+2016+ WPS+Office+2016+.7z yjlblog.exe yjlblog.txt 个人 作业 图书数据管理系统-MySQL (V2.0).zip 壁纸 备份 娱乐 宿舍截图 小软件 屏幕录像专家 v20170328.exe 工作室 帮助文档 憋笑.prproj 我的码农之路 收藏 数据库启用 新建文件夹 杂七杂八 泡泡表情 王老师文件 班级信息 电子图书 素材 纲要实践课安排.doc 网站 苹果apple107秒快闪 苹果apple107秒快闪.rar 表情包 课件笔记 赵彬富 过错不应犯之,功绩亦不应漠之.docx 重要资料 音乐
说明
从执行结果可以看出,
list()方法将
f盘的东西都出来了(都让你们看到了呜呜~~),但是么有标明哪个是文件哪个是目录呢QAQ..
举第二个栗子(~ ̄▽ ̄)~*
那就把上面的没有实现的功能实现吧,是目录是文件拉出来溜溜!!!!
package wfu; import java.io.File; public class Test1{ public static void main(String[] args) { //根据路径名称创建File 对象 File file = new File("f:"); //得到文件名列表 if (file.isDirectory()) { File[] files = file.listFiles(); //利用foreach 获取每个File对象 for (File f:files) { if (f.isFile()){ System.out.println("文件: "+ f); } else{ System.out.println("目录: " + f); } } } } }
运行结果
目录: f:\$RECYCLE.BIN 目录: f:\111 目录: f:\360Rec 目录: f:\Adobe After Effects CC 2014精简绿色版 文件: f:\Adobe After Effects CC 2014精简绿色版.rar 目录: f:\amp皮肤 文件: f:\hlw.mp4 目录: f:\java theme 目录: f:\java 大项目实时更新 目录: f:\JAVA项目 文件: f:\MLO4.2.1.rar 文件: f:\mmexport1510996082011.png 文件: f:\mysql-connector-java-5.1.20-bin.jar 目录: f:\navicat_permium_x64 文件: f:\navicat_permium_x64.7z 文件: f:\orcle 安装遇到的问题.txt 目录: f:\System Volume Information 文件: f:\TeamViewer Corporate 12.0.88438.7z 文件: f:\test2.txt 文件: f:\typecho-theme-apollo-1.0.2.zip 目录: f:\WPS+Office+2016+ 文件: f:\WPS+Office+2016+.7z 文件: f:\yjlblog.exe 文件: f:\yjlblog.txt 目录: f:\个人 目录: f:\作业 文件: f:\图书数据管理系统-MySQL (V2.0).zip 目录: f:\壁纸 目录: f:\备份 目录: f:\娱乐 目录: f:\宿舍截图 目录: f:\小软件 文件: f:\屏幕录像专家 v20170328.exe 目录: f:\工作室 目录: f:\帮助文档 文件: f:\憋笑.prproj 目录: f:\我的码农之路 目录: f:\收藏 目录: f:\数据库启用 目录: f:\新建文件夹 目录: f:\杂七杂八 目录: f:\泡泡表情 目录: f:\王老师文件 目录: f:\班级信息 目录: f:\电子图书 目录: f:\素材 文件: f:\纲要实践课安排.doc 目录: f:\网站 目录: f:\苹果apple107秒快闪 文件: f:\苹果apple107秒快闪.rar 目录: f:\表情包 目录: f:\课件笔记 目录: f:\赵彬富 文件: f:\过错不应犯之,功绩亦不应漠之.docx 目录: f:\重要资料 目录: f:\音乐
流
输入流(InputSream):只能从中读取数据,而不能向其中写入数据输出流(OutputStream):只能向其写入数据,而不能从中读取数据
字节流:在流中处理的基本单位为字节(8位的bit)的流
字符流 :在流中处理的基本单位为字符(16位的Unicode)的流
节点流 :不写了,太长了,书上有.....
过滤流:............
未完待续.....
相关文章推荐
- Java: 分析一个简单的配置文件并利用分析结果生成HTML文档
- 利用Java编写HTML文件分析程序
- 一个简单PDF文件的结构分析
- Java 编程技术中汉字问题的分析及解决,文件操作
- java文件上传和下载(原创,根据RFC1867分析得到)
- Java 编程技术中汉字问题的分析及解决,文件操作
- 使用Java实现对dbf文件的简单读写
- 用Java简单实现文件分割与合并
- Java 编程技术中汉字问题的分析及解决,文件操作
- 深入分析java中webwork中的文件上传机制
- JAVA /00文件路径截断漏洞与分析for windows并对.NET比较
- java实现的简单文件管理系统
- java 实现文件简单比较
- 对一个uClinux中的Makefile文件的简单分析(ZT)
- 一个简单生成Excel文件格式的java包。
- 简单的java访问共享文件
- JAVA /00文件路径截断漏洞与分析for windows并对.NET比较
- struts简单例子的分析(含代码注释和配置文件说明)
- JPEG文件格式简单分析
- 对一个桌面主题文件的简单分析