文件操作与IO(一些小项目)
在指定目录中寻找文件
扫描指定目录,并找到名称对应的所有文件(不包含目录).
import java.io.File;
import java.util.Scanner;public class Project1 {public static void main(String[] args) {//1.输入必要的信息Scanner sc = new Scanner(System.in);System.out.println("请输入要搜索的文件名: ");String fileName = sc.next();System.out.println("请输入要搜索的目录: ");String rootPath = sc.next();File rootFile = new File(rootPath);if(!rootFile.isDirectory()) {System.out.println("输入的答案有误!");return;}// 2.有了要搜索的路径之后,就可以按照递归的方式来搜索// 知道递归的起点, 还需要知道查询的文件名.scanDir(rootFile, fileName);}private static void scanDir(File rootFile, String fileName) {//1.把当前目录中的文件和子目录都列出来File[] files = rootFile.listFiles();if(files == null) {//空的目录,返回即可return;}//2.遍历上述files,判定每一个file是目录还是文件for(File f : files) {System.out.println("当前遍历到: " + f.getAbsolutePath());if(f.isFile()) {//普通文件,判定文件名是否是搜索的文件if(fileName.equals(f.getName())) {System.out.println("找到了符合要求的文件! " + f.getAbsolutePath());}} else if (f.isDirectory()) {//目录文件,就需要进一步的递归scanDir(f, fileName);} else {//这个else暂时不需要;}}}
}
进行普通文件的复制
import java.io.*;
import java.util.Scanner;public class Project2 {public static void main(String[] args) throws IOException {Scanner sc = new Scanner(System.in);System.out.println("请输入要复制的源文件: ");String srcPath = sc.next();System.out.println("请输入要复制的目标文件");String destPath = sc.next();//合法性判定// 1)srcPath对应的文件是否存在File srcFile = new File(srcPath);if(!srcFile.isFile()) {System.out.println("源文件路径有误");return;}//2)destPath不要求对应的文件存在,但是目录得存在.File destFile = new File(destPath);if(!destFile.getParentFile().isDirectory()) {System.out.println("目标路径有误!");return;}//复制操作try(InputStream inputStream = new FileInputStream(srcFile);OutputStream outputStream = new FileOutputStream(destFile)) {while(true) {byte[] buffer = new byte[1024];int n = inputStream.read(buffer);if(n == -1) {//读取完毕break;}//把读到的内容写入到outputStream中outputStream.write(buffer, 0, n);}}}
}
查找包含指定字符的文件
import java.io.*;
import java.util.Scanner;public class Project3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入要搜索的路径: ");String rootPath = sc.next();System.out.println("请输入要查询的词: ");String word = sc.next();File rootFile = new File(rootPath);if(!rootFile.isDirectory()) {System.out.println("输入的路径不正确");return;}scanDir(rootFile, word);}private static void scanDir(File rootFile, String word) {File[] files = rootFile.listFiles();if(files == null) {return;}for(File f : files) {System.out.println("当前遍历到: " + f.getAbsolutePath());if(f.isFile()) {//在文件内容中搜索searchInFile(f, word);} else if(f.isDirectory()) {//递归遍历scanDir(f, word);} else {//这个else暂时不需要;}}}private static void searchInFile(File f, String word) {//通过这个方法在文件内部进行搜索//1.把文件内容全部读取出来try(InputStream inputStream = new FileInputStream(f)) {StringBuilder stringBuilder = new StringBuilder();while(true) {byte[] buffer = new byte[1024];int n = inputStream.read(buffer);if(n == -1) {break;}//此处只是读取出文件的一部分.需要把文件的整体内容拼接到一起String s = new String(buffer, 0, n);stringBuilder.append(s);}//当文件整体读取完毕,循环结束之后,此时stringBuilder就是包含文件整个内容的字符串了.if(stringBuilder.indexOf(word) == -1) {//没找到要返回return;}//找到了,打印文件路径System.out.println("找到了! " + word + " 存在于 " + f.getAbsolutePath());} catch(IOException e) {throw new RuntimeException();}}
}
相关文章:
文件操作与IO(一些小项目)
在指定目录中寻找文件 扫描指定目录,并找到名称对应的所有文件(不包含目录). import java.io.File; import java.util.Scanner;public class Project1 {public static void main(String[] args) {//1.输入必要的信息Scanner sc new Scanner(System.in);System.out.println(&…...
C语言-算法-线性dp
[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…...
Pandas应用-股票分析实战
股票时间序列 时间序列: 金融领域最重要的数据类型之一 股价、汇率为常见的时间序列数据 趋势分析: 主要分析时间序列在某一方向上持续运动 在量化交易领域,我们通过统计手段对投资品的收益率进行时间序列建模,以此来预测未来的收…...
Database history tablesupgraded
zabbix升级到6之后,配置安装完成会有一个红色输出,但是不影响zabbix使用,出于强迫症,找到了该问题的解决方法。 Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to nume…...
Dify学习笔记-应用发布(四)
1、发布为公开 Web 站点 使用 Dify 创建 AI 应用的一个好处在于,你可以在几分钟内就发布一个可供用户使用的 Web 应用,该应用将根据你的 Prompt 编排工作。 如果你使用的是自部署的开源版,该应用将运行在你的服务器上 如果你使用的是云服务&…...
优化用户体验测试应用领域:提升产品质量与用户满意度
在当今数字化时代,用户体验测试应用已经成为确保产品质量、提升用户满意度的关键工具。随着技术的不断发展,用户的期望也在不断演变,因此,为了保持竞争力,企业必须将用户体验置于产品开发的核心位置。本文将探讨用户体…...
顶顶通呼叫中心中间件机器人压力测试配置(mod_cti基于FreeSWITCH)
介绍 顶顶通呼叫中心中间件机器人压力测试(mod_cit基于FreeSWITCH) 一、配置acl.conf 打开ccadmin-》点击配置文件-》点击acl.conf-》我这里是已经配置好了的,这里的192.168.31.145是我自己的内网IP,你们还需要自行修改 二、配置线路 打开ccadmin-&g…...
Debezium发布历史87
原文地址: https://debezium.io/blog/2020/03/19/integration-testing-for-change-data-capture-with-testcontainers/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 使用 Testcontainer 进行变更数…...
Leetcode131.分割回文串-Palindrome Patitioning-Python-回溯法
解题思路: 1.切割回文串,可以用解决找组合问题的思路解决,而解决组合问题,可以用回溯法,故本题选择回溯法。 2.理解两个事情:1.递归函数里的for循环是横向遍历给定字符串s的每一个字母。2.针对s的每一个字…...
Java面试——基础篇
目录 1、java语言有哪些优点和缺点? 2、JVM 、 JDK 和 JRE的关系 3、为什么说 Java 语言“编译与解释并存”? 4、Java和c的区别 5、基本数据类型 5.1、java的8种基本数据类型: 5.2、基本类型和包装类型的区别: 5.3、包装类型的缓存机…...
C++——结构体
1,结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。像int(整型),浮点型,bool型,字符串型等都是属于系统内置的数据类型。而今天要学习的结构体则是属于我们自定义…...
C++技术要点总结, 面试必备, 收藏起来慢慢看
目录 1. 语言对比 1.1 C 11 新特性 2.2 C 和 C 的区别 2.3 Python 和 C 的区别 2. 编译内存相关 2.1. C 程序编译过程 2.2. C 内存管理 2.3. 栈和堆的区别 2.4. 变量的区别 2.5. 全局变量定义在头文件中有什么问题? 2.6. 内存对齐 2.7. 什么是内存泄露 …...
VR数字展厅,平面静态跨越到3D立体化时代
近些年,VR的概念被越来越多的人提起,较为常见的形式就是VR数字展厅。VR数字展厅的出现,让各地以及各行业的展厅展馆的呈现和宣传都发生了很大的改变和革新,同时也意味着展览传播的方式不再局限于原来的图文、视频,而是…...
Linux中LVM实验
LVM实验: 1、分区 -L是大小的意思-n名称的意思 从vg0(卷组)分出来 2、格式化LV逻辑卷 LVM扩容 如果icdir空间不够了, 扩展空间lvextend -L 5G /dev/vg0/lv1 /dev/vg0/lv1(pp,vg,lv) 刷新文件系统xfs_growfs /lvdir VG扩容 …...
外包干了一个月,技术退步明显。。。。。
先说一下自己的情况,本科生,19年通过校招进入南京某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
gitlab.rb主要配置
根据是否docker安装,进入挂载目录或安装目录 修改此文件,我一般是在可视化窗口中修改,有时候也在命令行手敲 将下面的配置复制到该文件中 external_url http://192.168.100.50 # nginx[listen_port] = 8000 (docker安装的这一行不需要,因为端口映射导致此处修改会导致访问…...
网络协议基础
tcp/ip协议簇 TCP/IP协议族 网络接口层(没有特定的协议) 物理层 数据链路层 网络层: IP (v4/v6) ARP(地址解析协议) RARP . ICMP (Internet控制报文协议) IGMP 传输层: TCP (传输控制协议) UDP (用户数据报协议) 应用层: 都是基于传输层协议的端口,总共端口0~65535 …...
Mac使用adb调试安卓手机
0x00 背景 最近windows电脑休息,用mac办公比较多,手机用时间长了,不太灵光,准备修理一番。于是要用mac调试下android手机。配置略显麻烦,网上的步骤多参差不齐。估计是入门步骤,大佬们也懒得写的太细。于是…...
Web 开发 1: Flask 框架介绍和使用
在 Web 开发中,Flask 是一个流行且灵活的 Python Web 框架,用于构建 Web 应用程序。它简洁而易于上手,适用于小型到中型的项目。在本篇博客中,我将为你介绍 Flask 框架的基础知识和常用技巧,帮助你更好地掌握 Web 开发…...
Centos7.6之禅道开源版17.6.1安装记录
Centos7.6之禅道开源版17.6.1安装记录 文章目录 Centos7.6之禅道开源版17.6.1安装记录1. 下载2. 安装3. 登录4. 连接数据库1. 本地连接2. 远程连接1. 开启远程访问用户2. 更改mysql绑定的主机3. 重启Apache与MySQL服务 4. 常用命令1. Apache和Mysql常用命令2. 其他 1. 下载 官网…...
利用快马平台快速生成PyTorch图像分类原型,十分钟验证模型思路
最近在尝试用PyTorch做图像分类的原型验证时,发现从零开始搭建环境、写基础代码特别耗时。后来尝试用InsCode(快马)平台生成项目模板,十分钟就完成了模型验证。这里分享下用PyTorch快速构建MNIST分类器的关键步骤和踩坑经验。 数据准备环节 平台生成的代…...
Qwen3-VL-Reranker-8B应用场景:科研数据集图文代码混合检索
Qwen3-VL-Reranker-8B应用场景:科研数据集图文代码混合检索 1. 科研检索的痛点与解决方案 科研工作者在日常研究中经常面临这样的困境:手头有大量包含文本、图像、代码片段的研究资料,想要快速找到相关内容却异常困难。传统的文本检索工具只…...
Dual-Tree Agent RAG:可控、可解释、可验证
从文本检索到方法推理的跃迁 传统RAG系统将文档切分为平面文本块,通过向量相似度检索来增强大模型生成。这种模式在简单事实问答中表现良好,却难以应对需要全局结构理解、跨章节整合和方法论复用的复杂创新任务。现有改进方案如RAPTOR(层次摘…...
手把手教你用R玩转MSigDB:从数据库下载、基因集构建到GSEA/GSVA完整流程
手把手教你用R玩转MSigDB:从数据库下载、基因集构建到GSEA/GSVA完整流程 如果你正在寻找一个权威的基因集数据库来支持你的转录组功能分析,MSigDB(Molecular Signatures Database)无疑是首选。作为Broad研究所维护的核心资源&…...
OpenClaw语音控制扩展:Qwen3.5-4B-Claude对接Whisper实现声控自动化
OpenClaw语音控制扩展:Qwen3.5-4B-Claude对接Whisper实现声控自动化 1. 为什么需要语音控制自动化 去年冬天的一个深夜,我在赶制项目文档时突发奇想:如果能让AI听懂我的语音指令直接操作电脑,是不是连键盘都不用碰了?…...
突破PDF转换困境:Marker全攻略——从格式混乱到精准转换的革新之路
突破PDF转换困境:Marker全攻略——从格式混乱到精准转换的革新之路 【免费下载链接】marker 一个高效、准确的工具,能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式,支持多语言和复杂布局处理,可选集成 LLM 提升精度&am…...
python-flask-djangol框架的考公考编学习课程资料推荐系统
目录技术选型与架构设计数据采集与处理推荐算法实现用户画像构建前端交互与功能部署与优化合规与扩展项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型与架构设计 采用Python Flask作为后端框架,搭配SQLAlch…...
文明降级运动:回归纸笔抵抗AI监控
在AI技术席卷软件测试领域的浪潮中,一个看似“倒退”却极具战略意义的趋势正在兴起——文明降级运动。这场运动的核心是主动回归纸笔工具,以抵抗AI监控带来的系统性风险。作为软件测试从业者,我们身处技术前沿,见证了AI在缺陷预测…...
遇到‘Got minus one from a read call‘别慌!Oracle 12c连接数优化全攻略
深度解析Oracle 12c连接数优化:从"Got minus one from a read call"到高可用架构 当Java应用突然抛出java.sql.SQLRecoverableException: IO Error: Got minus one from a read call异常时,这往往是数据库连接资源耗尽的信号。本文将带您深入O…...
AI智能应用开发(Java)从起点到终点-面向对象
自定义对象Java中自定义对象的必要性就像我们之前用的Scanner 和Random 都是java里面已经写好的对象,直接拿来用就好了,不用再自己写一大串代码来实现键盘录入和随机数的需求,但是有些需求是java中没有定义和写好的,,但…...
