021.1 IO流——File类
########################################
IO流:
IO:用于处理设备上的数据的技术。设备:内存,硬盘,光盘
流:系统资源,Windows系统本身就可以操作的设备。各种语言只是使用系统平台的这个资源。并对外提供了各种语言自己的操作功能,这些功能最终调用的是系统资源,使用完资源一定要记住:释放。
File类直接有了分隔符:File.separator
"c:"+File.separator+"a.txt"
################################################文件基本方法
File file = new File("F:"+File.separator+"eclipse_javaCode"+File.separator+
"day21"+File.separator+"src"+File.separator+"day21"+File.separator+
"shangxin.txt");
String file_name = file.getName(); //获取文件名
System.out.println(file_name); //shangxin.txt
long file_size = file.length();
System.out.println(file_size);
String file_parent_path = file.getParent(); //获取父目录的路径
System.out.println(file_parent_path);
###########
String file_path = file.getAbsolutePath(); //获取绝对路径
System.out.println(file_path); //F:\eclipse_javaCode\day21\src\day21\shangxin.txt
long lc = file.lastModified(); //获取最后一次修改的时间
Date date = new Date();
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
String lc_str = df.format(date);
System.out.println(lc_str); //2018年2月23日 星期五 下午09时59分40秒 CST
boolean b = file.isHidden(); //判断文件是否隐藏
System.out.println(b);
b = file.createNewFile(); //创建文件,文件存在创建失败,没有该盘创建失败
System.out.println(b);
b = file.delete(); //删除文件,不走回收站
file = new File("ai"+File.separator+"xdaq");
b = file.mkdirs(); //创建多级目录
System.out.println(b);
b = file.delete(); //删除文件夹要注意,文件夹里面必须保证文件夹里面没有东西。
System.out.println(b);
file = new File("e:");
long space = file.getFreeSpace(); //获取剩余空间大小
System.out.println(space);

##################################获取文件里面的文件名称列表和文件对象
File dir = new File("e:");
String[] names = dir.list(); //获取文件名称
if(names == null)
return ;
for(String i:names){
System.out.println(i);
}
###
File dir = new File("e:");
File[] names = dir.listFiles(); //获取文件对象
if(names == null)
return ;
for(File i:names){
System.out.println(i);
}
#####################文件过滤器
用于文件文件过滤,如果是学习这个,需要分析一下下面的代码,这样才能更好的使用
重点:新建自己的过滤器类,继承FileFilter,实现accept方法,方法放回的为真就是不过滤的。
public class MyFileFilter implements java.io.FileFilter //以docx结尾
{
public boolean accept(File pathname)
{
return pathname.getName().endsWith("docx");
} }
MyFileFilter.java
public class FileFilterByEnding implements FileFilter //在创建对象的时候确认以什么结尾。
{
private String suffix;
public FileFilterByEnding(String suffix) {
super();
this.suffix = suffix;
}
@Override
public boolean accept(File pathname)
{
return pathname.getName().endsWith(suffix);
}
}
FileFilterByEnding.java
public class FilterByContains implements FilenameFilter //在创建对象的时候确认包含什么字符
{
private String content; public FilterByContains(String content) {
super();
this.content = content;
} @Override
public boolean accept(File dir, String name)
{
return name.contains(content);
}
}
FilterByContains.java
public class FilterBySuffix implements FilenameFilter //还是在创建对象的时候,确定以什么结尾
{
private String ending; public FilterBySuffix(String ending) {
super();
this.ending = ending;
} @Override
public boolean accept(File dir, String name)
{
//dir 代表被过滤的目录,遍历过程中文件或者文件夹的名字
return name.endsWith(ending);
}
}
FilterBySuffix.java
File dir = new File("e:"); //获取文件夹里面的文件,返回文件数组形式
FilenameFilter filter = new FilterBySuffix("副");
filter = new FilterByContains("a");
String[] names = dir.list(filter); //这里有个调用
for(String i:names){
System.out.println(i);
}
主函数调用
####################获取全部文件内容
public class GetAllFile
{
public static void main(String[] args)
{
File f = new File("F:"+File.separator+"E-drive-78234"+File.separator+"study");
getAllFile(f);
}
public static void getAllFile(File file){
File[] files = file.listFiles(); //获取文件数组
for(File f:files){
if(f.isDirectory()){ //如果是文件夹,则继续获取文件夹里面的数组
getAllFile(f);
}
else{
System.out.println(f);
}
}
}
}
##########删除目录
public class ShanWenJianJia
{
public static void main(String[] args)
{
File file = new File("f:"+File.separator+"eclipse_javaCode"+File.separator+
"day21"+File.separator+"day19");
System.out.println(file);
ShanChu(file);
}
public static void ShanChu(File f){
File[] fs = f.listFiles();
if(fs==null){
return;
}
for(File file:fs){
if(file.isDirectory()){
ShanChu(file);
}
else{
System.out.println(file+":"+file.delete());
}
}
System.out.println(f+":"+f.delete());
}
}
021.1 IO流——File类的更多相关文章
- 09、IO流—File类与IO流
目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- IO流——File类(文件流类)
java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...
- JAVA:IO流——File类
1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...
- Java IO流-File类
2017-10-24 23:50:22 File类 File类:文件和目录路径名的抽象表示形式.该文件或者目录不一定真实存在. * 构造方法 File类有四种构造方法,主要采用的构造方法师第二种,也就 ...
- Java第三阶段学习(一、IO流------File类)
一.IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作.JAVA软件往电脑硬盘上走叫输出. 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作.电脑硬盘上往J ...
- Java IO流-File类的使用示例-创建文件夹和文件的正确方法
当创建一个文件时,比如:E:\\test\\test.txt,此时若文件夹test不存在,那么直接创建文件会出错,故首先要判断文件夹是否存在,不存在的话要首先创建文件夹. public class F ...
- Java学习笔记33(IO:打印流,IO流工具类)
打印流: 有两个类:PrintStream PrintWriter类,两个类的方法一样,构造方法不一样 PrintStream构造方法:接收File类型,接收字符串文件名,接收字节输出流(Ou ...
- Java常用工具类之IO流工具类
package com.wazn.learn.util; import java.io.Closeable; import java.io.IOException; /** * IO流工具类 * * ...
随机推荐
- JS+Zero Clipboard swf复制到剪贴板 兼容浏览器(bind事件绑定函数)
转自http://www.ipmtea.net/css_ie_firefox/201107/07_499.html 1.ZeroClipboard其实是国外的一个js类库,源码结构如: var Zer ...
- 使用Vue搭建多页面应用
使用Vue-cli搭建多页面应用时对项目结构和配置的调整 前提:在这里使用的是webpack模板进行搭建 第一步.安装Vue-cli并且进行初始化 首先打开git,在里面使用npm全局安装Vue- ...
- 关于安装多个版本jdk之后java -version不正确的问题
问题描述: 今天突然想写一个socket通信的小应用,分别采用BIO.NIO.AIO的方式来实现,来复习前面看的关于TCP/UDP通信的知识.于是乎在原来安装了jdk1.6的机子上重新安装了jdk1. ...
- 在ViewDidLoad中往导航栈推ViewController报错
Unbalanced calls to begin/end appearance transitions for <YZPMainViewController: 0x7fa04b4970f0& ...
- 向tekkaman学习
勤奋程度要向tekkaman学习,把这几年落下的补回来.
- api拆分(数据传递和接收的几种方式)
传递方式一:对象转String 接收:String类型接收再转对象 传递方式二:Map 接收:Map 传递方式三:json(Map转json) 接收:String转Map 传递方式四:Map里放jso ...
- 撩课-Java每天10道面试题第7天
撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), ...
- MIME格式说明,电子邮件格式(转载)
邮件格式说明 Mutiple Internet Mail Extensions Refer to Internet Official Protocol Standards RFC 822 1 概述 网 ...
- 《JavaWeb从入门到改行》fileupload,没毛病
目录: » fileupload API > 文件上传的要求 > fileupload组件 » 上传细节的代码演示 » 项目案例-上传头像并显示 fileupload API 文 ...
- sql中,In和where的区别
SQL 语句中In 和 Where 的含义不同.应用解释如下: 1.如需有条件地从表中选取.删除.更新数据时,使用Where:2.In只作为Where条件子句下的一个运算符,除了In之外还有Betwe ...