package com.yyq;
import java.io.*;
//File 类
/*
* 用来将文件或者文件夹封装成对象
* 方便对文件和文件夹的属性信息进行操作
* File对象可以作为参数传递给流的构造函数
* 流只能处理数据
*
*/
/*
* File 类的常见方法:
* 1.创建
* boolean createNewFile()
* 在指定位置创建文件,如果该文件已经存在,则不创建,返回false
* 和输出流不一样,输出流对象--创建文件,文件存在会覆盖。
* mkdir file.mkdir 创建一级目录
* mkdir file.mkdirs(创建多级目录)既可以创建目录,也可以创建文件
* 2.删除
* delete Boolean类型 删除失败,返回假 deleteonExit() void类型 告诉虚拟机,退出时删除指定文件
* 3.判断
* canExecute 判断能否执行
* exists() 判断文件是否存在
*
* (//在判断文件对象是否是文件或者目录是,必须判断是否存在)
* isFile() 判断是否是文件
* isDirectory 判断是否是目录
* isHidden()
* isAbsolute 判断是否为绝对路径
* 4.获取信息
* getName()
* getPath()
* getParent() //返回的是绝对路径下的父目录,如果获取的是相对路径,则返回空
* 如果相对路径中有上一层目录,那么该目录就是返回结果。
* getAbsolutePath()
* getLastModified();
* renameTo 有移动的效果
*/
public class FileDemoTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//consMethod();
//method_2();
method_5();
File dir = new File("E:\\eclipse - 副本\\IOtest");
// 实现过滤 ------匿名内部类
// list 是以accept 为准过滤文件的
// 文件过滤 ------ 过滤方法
String[] names = dir.list(new FilenameFilter()
{
public boolean accept(File dir,String name){
/*System.out.println(dir+"----"+name);
if(name.endsWith(".txt"));
return false;*/
return name.endsWith(".txt");
}
});
System.out.println(names.length);
for(String s :names){
System.out.println(s);
}
}
//创建File对象 创建File对象的三种方式
public static void consMethod(){
// 将a.txt 封装成File对象,可以将已有的和未出现的文件或者文件夹封装成对象
File f = new File("a.txt");
// 路径不变,文件可以变化
File f1 = new File("D:\\abc","b.txt");
File d= new File("D:"+File.separator+"abc");
File f3 = new File(d,"c.txt");
System.out.println(f1);
System.out.println(d);
System.out.println(f3);
}
public static void method_1() throws Exception{
File f = new File("asssddb.txt");
// 告诉虚拟机,退出时删除了。。。
f.deleteOnExit();
sop("create:"+f.createNewFile());
sop("delete"+f.delete());
}
public static void method_2() throws Exception{
File f = new File("a.txt");
sop("create:"+f.canExecute()+f.exists());
sop(f.getPath());
// 可以列出盘符:
File[]arr = File.listRoots();
for(File r : arr){
System.out.println(r.getAbsolutePath());
}
//调用list 方法的file对象,必须封装了目录,该目录还必须存在。
// 可以列出文件列表
File file = new File("c:\\Users");
String []names = file.list();
for(String s : names){
System.out.println(s);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
public static void method_3(){
// 创建文件夹 创建目录
// mkdir 只能创建一级目录 ,
File dir = new File("dd\\abc\\kk");
dir.mkdirs();
System.out.println(dir.getAbsolutePath());
System.out.println(dir.getParentFile());
}
public static void method_5(){
File dir = new File("E:\\eclipse - 副本\\IOtest");
File[] files = dir.listFiles();
for(File f:files){
System.out.println(f.getName()+"::"+f.length());
}
}
}
package com.yyq;
import java.io.*;
//File 类
/*
* 用来将文件或者文件夹封装成对象
* 方便对文件和文件夹的属性信息进行操作
* File对象可以作为参数传递给流的构造函数
* 流只能处理数据
*
*/
/*
* File 类的常见方法:
* 1.创建
* boolean createNewFile()
* 在指定位置创建文件,如果该文件已经存在,则不创建,返回false
* 和输出流不一样,输出流对象--创建文件,文件存在会覆盖。
* mkdir file.mkdir 创建一级目录
* mkdir file.mkdirs(创建多级目录)既可以创建目录,也可以创建文件
* 2.删除
* delete Boolean类型 删除失败,返回假 deleteonExit() void类型 告诉虚拟机,退出时删除指定文件
* 3.判断
* canExecute 判断能否执行
* exists() 判断文件是否存在
*
* (//在判断文件对象是否是文件或者目录是,必须判断是否存在)
* isFile() 判断是否是文件
* isDirectory 判断是否是目录
* isHidden()
* isAbsolute 判断是否为绝对路径
* 4.获取信息
* getName()
* getPath()
* getParent() //返回的是绝对路径下的父目录,如果获取的是相对路径,则返回空
* 如果相对路径中有上一层目录,那么该目录就是返回结果。
* getAbsolutePath()
* getLastModified();
* renameTo 有移动的效果
*/
public class FileDemoTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//consMethod();
//method_2();
method_5();
File dir = new File("E:\\eclipse - 副本\\IOtest");
// 实现过滤 ------匿名内部类
// list 是以accept 为准过滤文件的
// 文件过滤 ------ 过滤方法
String[] names = dir.list(new FilenameFilter()
{
public boolean accept(File dir,String name){
/*System.out.println(dir+"----"+name);
if(name.endsWith(".txt"));
return false;*/
return name.endsWith(".txt");
}
});
System.out.println(names.length);
for(String s :names){
System.out.println(s);
}
}
//创建File对象 创建File对象的三种方式
public static void consMethod(){
// 将a.txt 封装成File对象,可以将已有的和未出现的文件或者文件夹封装成对象
File f = new File("a.txt");
// 路径不变,文件可以变化
File f1 = new File("D:\\abc","b.txt");
File d= new File("D:"+File.separator+"abc");
File f3 = new File(d,"c.txt");
System.out.println(f1);
System.out.println(d);
System.out.println(f3);
}
public static void method_1() throws Exception{
File f = new File("asssddb.txt");
// 告诉虚拟机,退出时删除了。。。
f.deleteOnExit();
sop("create:"+f.createNewFile());
sop("delete"+f.delete());
}
public static void method_2() throws Exception{
File f = new File("a.txt");
sop("create:"+f.canExecute()+f.exists());
sop(f.getPath());
// 可以列出盘符:
File[]arr = File.listRoots();
for(File r : arr){
System.out.println(r.getAbsolutePath());
}
//调用list 方法的file对象,必须封装了目录,该目录还必须存在。
// 可以列出文件列表
File file = new File("c:\\Users");
String []names = file.list();
for(String s : names){
System.out.println(s);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
public static void method_3(){
// 创建文件夹 创建目录
// mkdir 只能创建一级目录 ,
File dir = new File("dd\\abc\\kk");
dir.mkdirs();
System.out.println(dir.getAbsolutePath());
System.out.println(dir.getParentFile());
}
public static void method_5(){
File dir = new File("E:\\eclipse - 副本\\IOtest");
File[] files = dir.listFiles();
for(File f:files){
System.out.println(f.getName()+"::"+f.length());
}
}
}