IO File学习

来源:互联网 发布:unity3d游戏开发流程 编辑:程序博客网 时间:2024/06/07 02:52

1.递归遍历所有文件 并在控制台输出 

2.获取某个绝对地址文件目录下的以txt结尾的文件 递归遍历获取file存到list中 然后用用流写到自己创建的文件中

import java.io.*;import java.util.ArrayList;import java.util.List;public class file {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubFile dir = new File("F:\\7X");//dfs(dir, 0);递归文件目录List<File> list = new ArrayList<File>();//获取所有txt文件dfs2(dir, list);test(list, "F:wzz2.txt");}static void put(int x){StringBuilder sb = new StringBuilder();for(int i = 0; i < x; i++){sb.append(' ');}System.out.print(sb.toString());}static void dfs(File dir, int dep){put(dep);System.out.println(dir.getName());if(dir.isFile())return;File[] fs = dir.listFiles();for(int i = 0; i < fs.length; i++){dfs(fs[i], dep+1);}}static void dfs2(File dir, List<File> list){if(dir.isFile()){if(dir.getName().endsWith("txt"));list.add(dir);return;}File[] fs = dir.listFiles();for(File f : fs){dfs2(f, list);}}static void test(List<File> list, String name){BufferedWriter bw = null;try {bw = new BufferedWriter(new FileWriter("F:\\fd4.txt"));for(File f : list){bw.write(f.getAbsolutePath());bw.newLine();bw.flush();}} catch (IOException e) {// TODO: handle exception}finally{try {if(bw!=null)bw.close();} catch (IOException e2) {// TODO: handle exception}}}}

流只能操作数据。

 

File 

用来将文件或者文件夹封装成对象。

方便文件与文件夹进行操作

File对象可以作为参数传递给流的构造函数。

可以将已有的和已出现的文件或者文件夹封装成对象

File a = new File(“a.txt”);

File类常见方法:

创建

boolean creatNewFile() :当且仅当不存在具有此抽象路径名指定的名称的文件时,地创建由此抽象路径名指定的一个新的空文件

boolean mkdir():创建文件夹。

boolean mkdirs():创建多级文件夹

删除

boolean delete():如果文件正在使用,则删除不了返回false

void deleteOnExit():在程序退出时删除指定文件

判断

boolean exists():文件是否存在

ifFile ()         

isDirectory()

ifHidden()

isAbsolutePath()

获取信息  

getName()

getPath()

getParent():该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null 如果相对路径中有上一层目录那么该目录就是返回结果。

getAbsolutePath()

lastModidied()

length():在判断文件对象是否是文件或者目的是,必须要判断该文件对象封装的内容是否存在。通过exists判断,(因为文件或文件夹不存在也会返回false



0 0