您的位置:首页 > 编程语言 > Java开发

Javase基础学习笔记之IO流(1)

2014-12-25 14:27 302 查看
----------------------          IO流                       ---------------------


dsfsdf

IO:处理设备数据

输出:核心到外围设备

流就是一种系统资源,使用完后一定要释放

FileMethod.java

package cn.itcast.file;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethod {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file3 =new File("c:\\abc\\3m.txt");
File filet =new File("demo.txt");
File file=new File("d:\\38.txt");
//	file.createNewFile();
//	Method1(file);
//method2(file);
System.out.println(file.getFreeSpace());
}

private static void method2(File file) throws IOException {
//create
/*	boolean b=file.createNewFile();//文件存在,则不创建返回false,不存在才会创建并返回true
System.out.println(b);*/
//delete
//删除文件夹时必须保证该文件病人没有内容。从最里往外删
//	boolean b =file.delete();

System.out.println("ext"+file.exists());

//创建文件夹
boolean bt =file.mkdirs();
//System.out.println(bt);
System.out.println("file"+file.isFile());
System.out.println("dir"+file.isDirectory());
}

private static void Method1(File file) {
//获取绝对路径
String path =file.getAbsolutePath();
//获取file对象的封装路径,封装的是什么 获取的就是什么
String path1=file.getPath();
//获取文件最后一次修改时间,
long time=file.lastModified();
Date date =new Date(time);
DateFormat dateformat =DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
String str_date=dateformat.format(date);
//文件是否隐藏
boolean b=file.isHidden();
System.out.println(b);
System.out.println(str_date);
System.out.println(time);
System.out.println(path);
System.out.println(path1);
}

}


File dir = new File("c:\\");
// 当前目录下的所有文件和文件夹名称包含隐藏文件
// 只获取名称
/*
* String[] names =dir.list(); System.out.println(names);
* if(names!=null) for(String name : names){ System.out.println(name); }
*/
File[] files = dir.listFiles();
for (File file : files) {
System.out.println(file);
System.out.print(file.length());
}

----------------------          过滤器                       ---------------------

FileTest.java

package cn.itcast.file;

import java.io.File;
import java.io.FilenameFilter;

import cn.itcast.filter.FilterByContain;
import cn.itcast.filter.FilterBySuffic;

public class FileTest {
public static void main(String[] args) {
//list(FilenameFilter filter)
File dir =new File("c:\\");
FilenameFilter filter =new FilterBySuffic(".java"); //多态
filter =new FilterByContain("Test");
//传过滤器
String[] names =dir.list(filter);
for(String name:names){

System.out.println(name);
}

}
}


FilterBySuffix

package cn.itcast.filter;

import java.io.File;
import java.io.FilenameFilter;
/*
* 根据文件后缀名过滤
*/
public class FilterBySuffic implements FilenameFilter {
private String suffix;

public FilterBySuffic(String suffix) {
super();
this.suffix = suffix;
}

/*
* (non-Javadoc)
* name 被遍历目录中的文件夹或者文件名称
* @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
*/
@Override
public boolean accept(File dir, String name) {

return name.endsWith(suffix);
}

}
FilterByContain

package cn.itcast.filter;

import java.io.File;
import java.io.FilenameFilter;

public class FilterByContain implements FilenameFilter {
private String content;

public FilterByContain(String content) {
super();
this.content = content;
}

@Override
public boolean accept(File dir, String name) {

return name.contains(content);
}

}

----------------------          获取指定目录内容


GetAllFile

package cn.itcast.file.demo;

import java.io.File;

public class GetAllFile {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 获取指定目录下的内容
* 递归:函数自身调用自身,
* 功能被重复使用,但是每次参与运算数据不同时,可以考虑
*
*/
File dir =new File("F:\\h\\record");
getAllFiles(dir);
}

private static void getAllFiles(File dir) {
System.out.println("dir:"+dir);
// TODO Auto-generated method stub
//获取目录文件对象数组
File[] files =dir.listFiles();
//数组遍历
for(File f : files){
if(f.isDirectory()){
getAllFiles(f);
}else
System.out.println("file:"+f);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: