当前位置: 首页 > ds >正文

JAVA EE初阶 4:文件操作和IO

1.认识文件                    2.文件系统操作                 3.文件内容操作                    4.练习

1.认识文件

1.1 文件路径

1.2 文件种类

查看字符编码(UTF-8)http://www.mytju.com/classCode/tools/encode_utf8.asp

2.文件系统操作

        创建、删除、移动文件、获取文件属性…

2.1 File属性、构造方法

主要使用第二个版本 File(String pathname) ,第一和第三个中的String child都是相对路径,前面的都是基准路径(字符串/File对象)

2.2 File方法

2.2.1 返回路径

2.2.2 判断

2.2.3 创建与删除

2.2.4 返回

2.2.5 其他

3.文件内容操作(读写文件--数据流)

3.1 字节流(读)--InputStream




3.2 字节流(写)--OutputStream

3.3 字符流(读 写)--Reader Writer

3.4 其他


4.练习

import java.io.File;
import java.util.Scanner;public class Demo {public static void main(String[] args) {//1. 让用户输入要查询的文件名Scanner sc = new Scanner(System.in);System.out.println("请用户输入要查询的目录:");String dir = sc.next();System.out.println("请用户输入要查询的文件名:");String filename = sc.next();//2. 判定目录是否存在File rootfile = new File(dir);if(!rootfile.isDirectory()){System.out.println("您输入的目录不存在");return;}//3. 进行搜索 递归的边里目录中所有文件和子目录scanDir(rootfile,filename);}private static void scanDir(File rootfile, String filename) {//可以看到递归过程  System.out.println("当前正在搜索的目录是:" + rootfile.getAbsolutePath());//1. 列出 rootfile 中的内容File[] files = rootfile.listFiles();if(files == null) return; //空目录//2. 遍历 files 数组,判定每个元素的类型for(File file : files){if(file.isDirectory()) scanDir(file,filename); //是一个目录,递归调用scanDir方法else if(file.isFile()){ if(file.getName().contains(filename)) tryDelete(file);}//是一个文件,判断文件名是否包含要查询的文件名}}private static void tryDelete(File file) {System.out.println("要删除的文件是:" + file.getAbsolutePath());Scanner sc = new Scanner(System.in);System.out.println("是否确认删除(Y/N):");String choice= sc.next();if(choice.equals("Y") || choice.equals("y")){file.delete();System.out.println("删除成功");}} }

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;public class Demo {public static void main(String[] args) {//1. 复制文件  让用户输入源文件路径和目标文件路径Scanner sc = new Scanner(System.in);System.out.println("请用户输入源文件路径:");String srcPath = sc.next();System.out.println("请用户输入目标文件路径:");String destPath = sc.next();//2. 判定源文件是否存在File srcFile = new File(srcPath);if(!srcFile.isFile()){System.out.println("您输入的源文件不存在");return;}//3. 判定目标文件的父目录是否存在  File destFile = new File(destPath);File parentFile = destFile.getParentFile();if(!parentFile.isDirectory()){System.out.println("您输入的目标文件的父目录不存在");return;}//4. 进行拷贝copy(srcFile,destFile);}private static void copy(File srcFile, File destFile) {try(InputStream is = new FileInputStream(srcFile);OutputStream os = new FileOutputStream(destFile);) {while (true) {byte[] buffer = new byte[1024];int len = is.read(buffer);if(len == -1) break;os.write(buffer,0,len);}} catch (IOException e) { e.printStackTrace(); }}}

http://www.xdnf.cn/news/19478.html

相关文章:

  • PCIe 6.0 vs 5.0:带宽翻倍背后的技术革新与应用前景
  • 防护墙技术(一):NAT
  • 粒子群优化算法(PSO)
  • 从分子工具到技术革新:链霉亲和素 - 生物素系统与 M13 噬菌体展示的交叉应用解析
  • 项目管理方法适用场景对比
  • 每k个节点一组反转链表
  • 11 C 语言 sizeof 与指针实战指南:一维 / 二维数组计算注意事项 + 笔试真题解析 + sizeof strlen 对比
  • Python数据处理
  • MYSQL表结构优化场景
  • AI 赋能综合能源管理系统:开启智慧能源新时代
  • 深入理解 Rockchip 平台 DTS 中的 UART3 引脚配置
  • Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓
  • Photoshop - Ps 编辑图像
  • 深思熟虑智能体:基于 tencent youtu-agent 的五阶段投资研究系统
  • 第一个SpringBoot程序
  • 字数统计器和文本AI处理,非常好用
  • HBase高效并发锁:IdLock极简内存设计
  • 世界模型 World Models概述
  • 计算机算术8-浮点加法
  • uart学习
  • 基于FPGA的简易医疗呼叫器实现,包含testbench
  • 基于单片机智能垃圾桶/垃圾分类/语音垃圾桶
  • 内存模型(Memory Model)是什么?
  • 数据结构(顺序表力扣刷题)
  • 科技信息差(8.30)
  • GLM-Zero:智谱AI最新推出的AI深度推理模型
  • I2C多点触控驱动开发详解
  • shell脚本第五阶段---shell函数与正则表达式
  • 大模型训练中的 logits 是什么
  • react代码分割