首页 > 代码库 > I/O流之FileWriter【2】
I/O流之FileWriter【2】
需求:
1、编写程序,在main方法中,在当前目录下(项目目录)创建一个新目录newDir;
2、获取当前目录(项目目录)中所有文件列表信息,把这些信息写到目录newDir中的info.txt文件中
代码:
package 课后练习; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; public class FileDemo { public static void main(String[] args) { FileDemo fileDemo = new FileDemo(); // 创建数组链表存储文件路径 ArrayList<String> info = new ArrayList<String>(); BufferedWriter bw = null; try { // 创建newDir File file = new File("newDir"); file.mkdir(); // 在newDir下创建文件info.txt File newFile = new File("newDir/info.txt"); newFile.createNewFile(); // 获取当前目录 File currentDir = new File("E:\\04_北京惠科培训\\JavaSECode\\7月\\Me\\day16"); // 创建文件输出流对象 bw = new BufferedWriter(new FileWriter(newFile)); ArrayList<String> fileInfo = fileDemo.getFileInfo(currentDir, info); // 将数组链表中的数据写入Info.txt文件 for (String s : fileInfo) { bw.write(s+"\n"); } } catch (IOException e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } /**功能: 获取当前目录(项目目录)中所有文件列表信息 * @param file 当前目录 * @param str 存储文件的绝对路径 * @return 返回所有当前目录下的文件路径 */ public ArrayList<String> getFileInfo(File file, ArrayList<String> str) { // 获取当前目录下的文件 File[] listFiles = file.listFiles(); // 如果文件链表为空或长度为0,则代表该文件没有子文件 if (listFiles == null || listFiles.length == 0) { return null; } // 否则遍历该文件夹下的子文件 for (File f : listFiles) { if (f.isDirectory()) { getFileInfo(f, str); } else { str.add(f.getAbsolutePath()); } } return str; } }
运行结果:
I/O流之FileWriter【2】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。