黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(4)

来源:互联网 发布:什么是数据与信息 编辑:程序博客网 时间:2024/05/17 05:05

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------


本篇演示File类的使用

 

示例一:File类的基本使用

import java.io.*;class FileDemo {public static void main(String[] args) throws IOException{sop("----------------------------------------------------------");File dir = new File("d:\\java_demo\\a");newDir(dir);sop("----------------------------------------------------------");File f1 = new File("a\\a.txt");File f2 = new File("d:\\java_demo\\a","b.txt");File d = new File("d:\\java_demo\\a");File f3 = new File(d,"c.txt");File f4 = new File("d:"+File.separator+"java_demo"+File.separator+"a"+File.separator+"d.txt");newFile(f1);newFile(f2);newFile(f3);newFile(f4);sop("----------------------------------------------------------");sop(f1+" path:"+f1.getPath());sop(f1+" abspath:"+f1.getAbsolutePath());}//创建文件public static void newFile(File f)throws IOException{if (!f.exists()){sop(f+" 不存在");if (f.createNewFile())sop(f+" 创建成功");else sop(f+" 创建失败");}else sop(f+" 存在");}//创建文件夹public static void newDir(File dir){if (!dir.exists()){sop(dir+" 文件夹不存在");if (dir.mkdirs())sop(dir+" 文件夹创建成功");else sop(dir+" 文件夹创建失败");}else sop(dir+" 文件夹存在");}public static void sop(Object obj){System.out.println(obj);}}

运行前没有a目录以及文件

连续运行两次后



示例二:将一个指定目录下的txt文件的绝对路径,存储到一个文本文件中。

建立一个java文件列表文件。

 

思路:

1,对指定的目录进行递归。

2,获取递归过程所以的java文件的路径。

3,将这些路径存储到集合中。

4,将集合中的数据写入到一个文件中。

 

import java.io.*;import java.util.*;class  JavaFileList{public static void main(String[] args) throws IOException{File dir = new File("d:\\java_demo\\a");List<File> list = new ArrayList<File>();fileToList(dir,list);File file = new File(dir,"list.txt");writeToFile(list,file.toString());}public static void fileToList(File dir,List<File> list){File[] files = dir.listFiles();for(File file : files){if(file.isDirectory())fileToList(file,list);else{if(file.getName().endsWith(".txt"))list.add(file);}}}public static void writeToFile(List<File> list,String javaListFile)throws IOException{BufferedWriter bufw =  null;try{bufw = new BufferedWriter(new FileWriter(javaListFile));for(File f : list){String path = f.getAbsolutePath();bufw.write(path);bufw.newLine();bufw.flush();}}catch (IOException e){throw e;}finally{try{if(bufw!=null)bufw.close();}catch (IOException e){throw e;}}}}

运行后




---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击