做网站的框架,遵义市建设厅网站,智能建站系统下载,网站建设 从用户角度开始专栏#xff1a;JavaEE初阶起飞计划 个人主页#xff1a;手握风云 目录
一、Java文件内容写入
1.1. OutputStream
二、字符流读取和写入
2.1. Reader
2.2. Writer
三、示例练习
3.1. 查找文件功能 一、Java文件内容写入
1.1. OutputStream OutputStream同样只是⼀个抽… 专栏JavaEE初阶起飞计划 个人主页手握风云 目录
一、Java文件内容写入
1.1. OutputStream
二、字符流读取和写入
2.1. Reader
2.2. Writer
三、示例练习
3.1. 查找文件功能 一、Java文件内容写入
1.1. OutputStream OutputStream同样只是⼀个抽象类要使用还需要具体的实现类。我们现在还是只关⼼写入文件中所以使用FileOutputStream。int参数类型是写入要给字节的数据byte[]参数类将b这个字符数组中的数据全部写⼊os中。
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Demo1 {public static void main(String[] args) {try (OutputStream outputStream new FileOutputStream(./test.txt)) {// “你好”的字符编码outputStream.write(0xe4);outputStream.write(0xbd);outputStream.write(0xa0);outputStream.write(0xe5);outputStream.write(0xa5);outputStream.write(0xbd);} catch (IOException e) {e.printStackTrace();}}
} 但上面写的代码每次打开文件都会清空原有的内容我们可以在write方法后面加一个参数append就能从文件末尾追加内容。 二、字符流读取和写入
2.1. Reader import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;public class Demo3 {public static void main(String[] args) {try (Reader reader new FileReader(./test.txt)) {while (true) {int ch reader.read();if (ch -1) {break;}char c (char) ch;System.out.println(c);}} catch (IOException e) {e.printStackTrace();}}
} 我们同样也可以使用字符数组来进行读取。
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;public class Demo3 {public static void main(String[] args) {try (Reader reader new FileReader(./test.txt)) {while (true) {char[] chars new char[1024];int c reader.read(chars);if (c -1) {break;}for (int i 0; i c; i) {System.out.println(chars[i]);}}} catch (IOException e) {e.printStackTrace();}}
}
2.2. Writer
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class Demo4 {public static void main(String[] args) {try (Writer writer new FileWriter(./test.txt)) {writer.write(你好世界);} catch (IOException e) {e.printStackTrace();}}
} 三、示例练习
3.1. 查找文件功能 扫描指定目录并找到名称中包含指定字符的所有普通文件不包含目录并且后续询问⽤户是否要删除该文件。
import java.io.File;
import java.util.Scanner;public class Demo5 {public static void main(String[] args) {Scanner in new Scanner(System.in);System.out.println(请输入要搜索的目录);String dir in.nextLine();System.out.println(请输入要查询的文件名);String filename in.nextLine();// 判断目录是否存在File rootFile new File(dir);if (!rootFile.isDirectory()) {System.out.println(目录不存在);return;}// 利用递归进行搜索searchFile(rootFile, filename);}private static void searchFile(File rootFile, String filename) {// 列出rootFile中的内容File[] files rootFile.listFiles();if (files null) {// 空目录return;}// 遍历files数组判断元素类型for (File file : files) {if (file.isDirectory()) {searchFile(file, filename);} else if (file.isFile()) {if (file.getName().contains(filename)) {tryDel(file);}}}}private static void tryDel(File file) {System.out.println(准备删除文件 file.getAbsolutePath());Scanner in new Scanner(System.in);System.out.println(是否确认删除(Y/N));String choice in.nextLine();if (choice.equalsIgnoreCase(Y)) {file.delete();System.out.println(删除成功);} }
}