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流工具类 * * ...
随机推荐
- JavaScript对象——原型与原型链
原型与原型链 一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object .Function 是 JS 自带的函数对象.下面举例说明 va ...
- html锚点使用示例
<html> <body> <h1>HTML 教程目录</h1> <ul> <li><a href="#C1&q ...
- DataGrridView 当前行显示不同颜色
如果想让选中DataGridview的行显示不同颜色,就要通过DataGridview控件RowPerpaint事件中重新设置所选行的DefauleCellStyle属性来实现 private voi ...
- Spring.Net---2、IoC/DI基本概念
---------------------------------------------------------------------------------- (1)IoC/DI的概念 IoC ...
- ADO MFC SQL2000
对于初学VC的朋友来说,连接数据库其实是一件不容易的事情.记得我当时为了与数据库连接上,找了好多资料,上网看了好多文章,都没有解决这个问题.后 来,有个网友帮我解决了,我再次表示感谢.为了后来VC初学 ...
- zsh: command not found: gulp
明明安装了gulp,但是为什么执行gulp命令却在控制台输出 zsh: command not found: gulp 可能因为gulp没有被全局安装 在控制台输入 which gulp 如果输出 g ...
- winform程序限制只能打开一个进程
有很多方案,先来最傻瓜式的 : static class Program { /// <summary> /// 应用程序的主入口点. ...
- [javaSE] IO流(装饰设计模式)
装饰设计模式:当想要对已有的对象进行功能增强时,可以自定义类将已有的对象传入,并提供加强功能,自定义的该类称为装饰类 典型的: Reader--FileReader --BufferedReader ...
- 二、cent OS安装配置tomcat
下载tomcat的tar包http://tomcat.apache.org/download-80.cgi 确保安装前已经安装JDKjava -version如果没有安装可以参考上一篇文章:http: ...
- 3.java设计模式-建造者模式
Java设计模式-建造者模式 在<JAVA与模式>一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal repr ...