手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

JAVA入门之JAVA如何操作文件

时间:2024-10-12 13:28:35

1、操作一 : 创建文件我们这里通过 JAVA API 在 D盘 创建一个文本文件 “NewFileByJava.txt”:在 JAVA 中,类java.io.Fil髫潋啜缅e 代表一个文件,我们通过指定文件路径来创建这个类的对象,并判断如果这个文件不存在,则创建新文件, 具体代码如下 :// 指定文件路径创建 File 对象File theNewFile = new File("D:/NewFileByJava.txt");// 判断文件是否存在,如果不存在,则尝试创建文件if(!theNewFile.exists()){ try { // 调用createNewFile 放创建文件,并返回创建结果 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,大家如果有兴趣可以参考如下经验:

JAVA入门之JAVA如何操作文件
JAVA入门之JAVA如何操作文件

2、操作二 : 向文件输出内容我们通过JAVA输出流相关类向刚刚创建的文件中输出两行内容 :// 创建一个文件对象,我们刚刚创建这个文件 File theNewFile = new File("D:/NewFileByJava.txt"); // 创建一个文件输出流对象 FileOutputStream fos = new FileOutputStream(theNewFile); // 创建带缓冲区的字符流输出对象,通过这个对象,我们的内容输出效率较高 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos)); // 输出第一行信息 bw.write("第一行信息"); // 输出回车符(\r)换行符(\n)// 对于 Windows系统,我们输出这两个字符后,在文件中就表现为"另起一行" bw.write("\r\n"); bw.write("第二行信息");// 将缓冲区的内容输出到文件中 bw.flush(); // 关闭输入流对象!!这是最佳实践!!// 任何文件流操作完毕后,必须将流对象关闭!! fos.close(); bw.close(); System.out.println("文件输入完毕!");再强调一遍 : IO流对象操作完毕后,一定要关闭!!!否则你可能会遇到很多意想不到的问题!!!

JAVA入门之JAVA如何操作文件
JAVA入门之JAVA如何操作文件

3、操作三 : 从文件中读取内容我们通过 JAVA API 将刚刚写入文件的内容读取出来,并输出到控制台中 :// 创建一个文件对象,我们刚刚创建这个文件 File theNewFile = new File("D:/NewFileByJava.txt"); // 创建文件输入流对象,注意,这里的输入流和输出流是相对程序而言的! // 从程序中往外输出就是输出流,往程序中读入就是输入流 FileInputStream fis = new FileInputStream(theNewFile); // 创建带缓冲区的字符流输入对象 BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String line = null; // 调用br.readLine(), 逐行读入所有数据,读到文件末尾,返回 null while((line = br.readLine()) != null){ System.out.println(line); } // 操作完毕,关闭所有流对象 fis.close(); br.close();

JAVA入门之JAVA如何操作文件

4、操作四 : 删除文件我们通过 File 对象的 delete 放将文件删除!该方法返回一个 boolean 值,表明我们这个删除操作是否成功!该方法适用于任何文件,只要我们知道该文件的具体路径,就可以删除!// 创建一个文件对象 File theNewFile = new File("D:/NewFileByJava.txt");// 调用 delete 方法将自己删除,并返回删除结果 boolean deleteResult = theNewFile.delete();if(deleteResult){ System.out.println("文件删除成功!"); }else{ System.out.println("文件删除失败!"); }注意 : 这个方法同样适用于删除文件夹,在 JAVA 中,一个文件夹也是一个文件,也通过 File 对象来表示!

JAVA入门之JAVA如何操作文件

5、操作五 : 通过递归操作,遍历一个文件夹下所有的文件我们先看看通过递归调用输出文件下所有具体文件路径的方法 :/** * 递归调用,输出文件夹下所有的内容 * @param fil髫潋啜缅eObj */ 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()); } }我们可以基于这个遍历所有文件的方法,构造一个自己的文件搜索程序!

JAVA入门之JAVA如何操作文件
JAVA入门之JAVA如何操作文件

6、总结 : 我们通过常用的 JAVA API 进行了文件的创建,输出,读入,删除,遍历操作!通过这些基本操作的组合,我们能构造出很多非常好用的功能!

© 手抄报圈