JAVA入门之JAVA如何操作文件
JAVA提供了一套API (Application Programming Interface,应用程序编程接口) 来进行文件操作,他们属于 JAVA IO 的一部分,我们这篇就看看如何利用这些接口来操作文件!
操作方法
- 01
操作一 : 创建文件 我们这里通过 JAVA API 在 D盘 创建一个文本文件 “NewFileByJava.txt”: 在 JAVA 中,类 java.io.File 代表一个文件,我们通过指定文件路径来创建这个类的对象,并判断如果这个文件不存在,则创建新文件, 具体代码如下 : File theNewFile = new File("D:/NewFileByJava.txt"); if(!theNewFile.exists()){ try { boolean createResult = theNewFile.createNewFile(); if(createResult){ System.out.println("文件创建成功!"); }else{ System.out.println("文件创建失败!"); } } catch (IOException e) { e.printStackTrace(); } } 理论上,通过 JAVA API 可以创建任意格式的文件(任何格式文件从磁盘这个角度看,就是一堆二进制数据而已),但使用JAVA原生的文件API,我们通常只会创建文本文件,因为其他格式的文件都有非常严格的规范,我们一般都通过第三方开发包来操作,比如通过 POI 来操作 Excel ! 关于 POI 来操作 Excel,大家如果有兴趣可以参考如下经验:
- 02
操作二 : 向文件输出内容 我们通过JAVA输出流相关类向刚刚创建的文件中输出两行内容 : File theNewFile = new File("D:/NewFileByJava.txt"); FileOutputStream fos = new FileOutputStream(theNewFile); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos)); bw.write("第一行信息"); bw.write("\r\n"); bw.write("第二行信息"); bw.flush(); fos.close(); bw.close(); System.out.println("文件输入完毕!"); 再强调一遍 : IO流对象操作完毕后,一定要关闭!!!否则你可能会遇到很多意想不到的问题!!!
- 03
操作三 : 从文件中读取内容 我们通过 JAVA API 将刚刚写入文件的内容读取出来,并输出到控制台中 : File theNewFile = new File("D:/NewFileByJava.txt"); FileInputStream fis = new FileInputStream(theNewFile); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String line = null; while((line = br.readLine()) != null){ System.out.println(line); } fis.close(); br.close();
- 04
操作四 : 删除文件 我们通过 File 对象的 delete 放将文件删除!该方法返回一个 boolean 值,表明我们这个删除操作是否成功! 该方法适用于任何文件,只要我们知道该文件的具体路径,就可以删除! File theNewFile = new File("D:/NewFileByJava.txt"); boolean deleteResult = theNewFile.delete(); if(deleteResult){ System.out.println("文件删除成功!"); }else{ System.out.println("文件删除失败!"); } 注意 : 这个方法同样适用于删除文件夹,在 JAVA 中,一个文件夹也是一个文件,也通过 File 对象来表示!
- 05
操作五 : 通过递归操作,遍历一个文件夹下所有的文件 我们先看看通过递归调用输出文件下所有具体文件路径的方法 : private static void outputAllFileNames(File fileObj){ if(null == fileObj){ return; } if(fileObj.isDirectory()){ File[] allFiles = fileObj.listFiles(); for(File file : allFiles){ if(file.isDirectory()){ outputAllFileNames(file); }else{ System.out.println(file.getAbsolutePath()); } } }else{ System.out.println(fileObj.getAbsolutePath()); } } 我们可以基于这个遍历所有文件的方法,构造一个自己的文件搜索程序!
- 06
总结 :我们通过常用的 JAVA API 进行了文件的创建,输出,读入,删除,遍历操作!通过这些基本操作的组合,我们能构造出很多非常好用的功能!