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流工具类 * * ...
随机推荐
- Java常用的排序算法三
Merge Sort :归并排序:用递归的思想,分解成单个元素的排序,在归并 代码: import java.util.*; public class MergeSort { public stati ...
- Rest架构下的增删改查
首先还是要连接一下什么是Rest, REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP, ...
- android inflate压力泵,将视图发生整合的过程
转自:https://blog.csdn.net/u012702547/article/details/52628453?utm_source=copy inflate方法从大范围来看,分两种,三个参 ...
- android RecyclerView简单的使用
转自:https://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了, ...
- word转html实现预览(asp.net)
word转html 需要通过nuget 安装 Microsoft.Office.Interop.Word Microsoft.Office.Interop.Excel 使用 Microsoft.Asp ...
- [LeetCode]Generate Parentheses题解
Generate Parentheses: Given n pairs of parentheses, write a function to generate all combinations of ...
- poj 2992 Divisors (素数打表+阶乘因子求解)
Divisors Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9617 Accepted: 2821 Descript ...
- 使用TreeDMS进行MySQL数据库的Web页面远程管理
在互联网应用蓬勃发展的时代背景下,各种各样的网络平台,网络应用,移动应用层出不穷,那么这些应用及平台都需要使用到数据库.如何高效的对数据进行日常维护.管理.监控成为迫切需要解决的问题. 基于web的方 ...
- HDU 2433 (最短路+BFS+剪枝)
http://acm.hdu.edu.cn/showproblem.php?pid=2433 这个问题因为路径都是1,所以可以用bfs遍历 可以看这几篇文章讲解: http://blog.csdn.n ...
- H5实现拍照上传功能
<input type="file" capture="camera" accept="image/*" >