发布时间:2026/6/19 17:58:52
homework to blog 文件复制 IO 编程题
使用 Java IO 缓冲流完成两类文件复制功能字符缓冲流实现文本文件复制要求使用BufferedReader、BufferedWriter完成纯文本文件拷贝支持按行读取写入保证换行格式完整。仅适用于 txt、java 等文本文件。字节缓冲流实现任意文件万能复制要求使用BufferedInputStream、BufferedOutputStream可复制文本、图片、视频、压缩包等全部类型文件拷贝后文件可正常打开无损坏。代码import java.io.*;import java.util.Scanner;/**IO文件复制竞赛题字符缓冲流复制文本 字节缓冲流万能复制任意文件*/public class FileCopyHomeWork {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println(“ 文件复制工具 ”);System.out.println(“1.字符缓冲流仅复制文本文件”);System.out.println(“2.字节缓冲流万能复制所有文件”);System.out.print(“请输入选择”);int op sc.nextInt();sc.nextLine();System.out.print(输入源文件路径); String src sc.nextLine(); System.out.print(输入目标保存路径); String dest sc.nextLine(); try { if (op 1) { copyTextByCharBuffer(src, dest); System.out.println(文本复制完成); } else if (op 2) { copyAllFileByByteBuffer(src, dest); System.out.println(文件万能复制完成); } else { System.out.println(输入错误); } } catch (IOException e) { System.out.println(文件操作异常 e.getMessage()); } sc.close();}/**字符缓冲流只复制txt、java等纯文本*/public static void copyTextByCharBuffer(String srcPath, String destPath) throws IOException {// try-with-resources 自动关闭流竞赛标准写法try (BufferedReader br new BufferedReader(new FileReader(srcPath));BufferedWriter bw new BufferedWriter(new FileWriter(destPath))) {String line;while ((line br.readLine()) ! null) {bw.write(line);bw.newLine(); // 补全换行防止文本粘连}}}/**字节缓冲流万能复制图片、视频、压缩包、文本全部文件*/public static void copyAllFileByByteBuffer(String srcPath, String destPath) throws IOException {try (BufferedInputStream bis new BufferedInputStream(new FileInputStream(srcPath));BufferedOutputStream bos new BufferedOutputStream(new FileOutputStream(destPath))) {// 8KB缓冲区兼顾内存与读写效率byte[] buf new byte[1024 * 8];int len;while ((len bis.read(buf)) ! -1) {bos.write(buf, 0, len);}bos.flush(); // 强制刷新缓冲区防止残留数据丢失}}}心得体会本次文件复制作业让我分清了字符缓冲流与字节缓冲流的适用场景。字符缓冲流适合纯文本文件支持按行读取处理文字十分方便但不能复制图片、压缩包等二进制文件否则会损坏文件。字节缓冲流直接操作原始字节能万能复制所有类型文件通用性更强。缓冲流自带缓冲区相比基础文件流读写效率更高。同时我学会使用 try-with-resources 语法自动关闭流避免手动关闭遗漏导致资源占用。实操中我注意到两处易错点字符流复制要补换行符字节流写入需传入真实读取长度不能直接写入完整数组。这次练习让我掌握 IO 流选型规则处理文本用字符缓冲流通用文件拷贝用字节缓冲流做题时先判断文件类型再编写代码规避程序出错、文件损坏等问题规范了 IO 编程习惯。

相关新闻

心血关疾病
2026/6/19 17:58:52

心血关疾病

心血管疾病是全球致死率最高的疾病之一,早期筛查、快速风险预判能极大降低重症发病概率。本文基于医院真实心血管医疗数据集(1319 条患者临床指标),完整复现数据读取→探索性数据分析 EDA→异常清洗预处理→特征工程→多分类模型训…

阅读更多
嵌入式硬件设计基石:从MC9S12NE64实战解读芯片电气特性
2026/6/19 16:58:52

嵌入式硬件设计基石:从MC9S12NE64实战解读芯片电气特性

1. 项目概述:为什么电气特性是嵌入式设计的“宪法”干了十几年嵌入式开发,从8位机玩到32位,踩过的坑比写过的代码行数还多。我越来越觉得,看芯片数据手册,最该花时间琢磨的不是那些酷炫的功能模块,而是开头…

阅读更多
【数学建模实战】从生产优化到资源调度:典型真题场景解析与建模思路
2026/6/19 16:58:52

【数学建模实战】从生产优化到资源调度:典型真题场景解析与建模思路

1. 数学建模实战:从生产优化到资源调度 数学建模听起来高大上,但其实就像给现实问题套上一个数学的外套。我在工厂实习时就遇到过这样的问题:生产线上的机器该怎么安排才能最大化产出?原料库存有限的情况下,生产哪些产…

阅读更多
深入解析S12 PWM模块:从时钟树到16位级联的电机控制实战
2026/6/19 18:58:52

深入解析S12 PWM模块:从时钟树到16位级联的电机控制实战

1. 项目概述与PWM核心价值在嵌入式开发,尤其是电机控制、LED调光、开关电源这些需要精确功率调节的领域,脉宽调制(PWM)技术绝对是工程师手中的一把利器。简单来说,PWM就是通过快速开关数字信号,并精确控制一…

阅读更多
MicroG在HarmonyOS上的签名伪造技术深度解析:实现原理与架构设计
2026/6/19 18:58:52

MicroG在HarmonyOS上的签名伪造技术深度解析:实现原理与架构设计

MicroG在HarmonyOS上的签名伪造技术深度解析:实现原理与架构设计 【免费下载链接】GmsCore Free implementation of Play Services 项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore 在开源移动生态系统中,MicroG项目作为Google移动服务…

阅读更多
如何在5分钟内快速上手Akagi:终极智能麻将分析工具指南
2026/6/19 18:58:52

如何在5分钟内快速上手Akagi:终极智能麻将分析工具指南

如何在5分钟内快速上手Akagi:终极智能麻将分析工具指南 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amat…

阅读更多
【工程笔记】Tolerance Stack-up 尺寸链计算全流程实操手册:从线性尺寸链到蒙特卡洛仿真
2026/6/19 18:58:52

【工程笔记】Tolerance Stack-up 尺寸链计算全流程实操手册:从线性尺寸链到蒙特卡洛仿真

为什么要系统学公差累加(Tolerance Stack-up)?做机械/结构设计、工艺规划或精密制造的工程师,大多绕不开这个场景:单个零件公差符合图纸,装配后关键尺寸超限了不知道设计要求下来后,各环公差应该…

阅读更多
Superpaper终极指南:免费打造多显示器无缝壁纸体验
2026/6/19 18:58:52

Superpaper终极指南:免费打造多显示器无缝壁纸体验

Superpaper终极指南:免费打造多显示器无缝壁纸体验 【免费下载链接】superpaper A cross-platform multi monitor wallpaper manager. 项目地址: https://gitcode.com/gh_mirrors/su/superpaper Superpaper是一款强大的跨平台多显示器壁纸管理工具&#xff0…

阅读更多
5分钟快速上手:如何用MusicFree插件打造跨平台音乐聚合神器
2026/6/19 17:58:52

5分钟快速上手:如何用MusicFree插件打造跨平台音乐聚合神器

5分钟快速上手:如何用MusicFree插件打造跨平台音乐聚合神器 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins MusicFree插件是一个开源的音乐播放器扩展框架,它通过插件化的方…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/17 23:21:18

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/18 4:35:02

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/18 15:04:04

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
AI率高怎么降?10款降AI率网站盘点,含免费方案
2026/6/19 0:58:49

AI率高怎么降?10款降AI率网站盘点,含免费方案

2026年毕业季临近,不少同学的论文焦虑已经从“重复率不达标”转到了“AI率超标”上:好不容易把内容改到逻辑通顺,提交检测却因为几段AI辅助生成的内容、或是表达过于规整被打回,导师要求限期整改,辛苦熬了几个通宵的成…

阅读更多
FIFA 23 Live Editor完全指南:打造你的专属足球世界
2026/6/19 0:58:49

FIFA 23 Live Editor完全指南:打造你的专属足球世界

FIFA 23 Live Editor完全指南:打造你的专属足球世界 【免费下载链接】FIFA-23-Live-Editor FIFA 23 Live Editor 项目地址: https://gitcode.com/gh_mirrors/fi/FIFA-23-Live-Editor 还在为FIFA 23中无法实现的足球梦想而烦恼吗?想要组建那支只存…

阅读更多
EasyLPAC:5个关键步骤掌握专业级eUICC智能卡管理工具
2026/6/19 0:58:49

EasyLPAC:5个关键步骤掌握专业级eUICC智能卡管理工具

EasyLPAC:5个关键步骤掌握专业级eUICC智能卡管理工具 【免费下载链接】EasyLPAC lpac GUI Frontend 项目地址: https://gitcode.com/gh_mirrors/ea/EasyLPAC EasyLPAC是一款专为eUICC智能卡管理设计的图形化界面工具,基于lpac核心构建&#xff0c…

阅读更多
GIT修改用户名
2026/6/17 19:45:33

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/18 14:35:19

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/18 15:23:49

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多