文件太大了,怎么办,吃了它?分了它?我帮您想想办法。

2024-06-23 17:12
文章标签 办法 太大 想想

本文主要是介绍文件太大了,怎么办,吃了它?分了它?我帮您想想办法。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文件太大了,怎么办?

         在开发进程中,众人往往会因文件传输问题而倍感困扰。文件体积过大,占用带宽尚属小事,更棘手的是传输中途突然中断,而后又得重新开始。不过,断点续传算是解决此难题的途径之一。此外,还有一法,即将一个大型文件拆分为多个种子,待全部传送完毕,再进行组装。下面,我以 Java 语言为例加以说明。

1、拆分文件代码

import java.io.*;public class FileSplitter {public static void main(String[] args) {String sourceFilePath = "E:other/数字化转型建设方案.zip"; // 分割文件的大小,这里设为10MB,可以根据你的情况修改。long chunkSize = 10 * 1024 * 1024; splitFile(sourceFilePath, chunkSize);}private static void splitFile(String sourceFilePath, long chunkSize) {File sourceFile = new File(sourceFilePath);if (!sourceFile.exists() || !sourceFile.isFile()) {return;}try (BufferedInputStream bis = new BufferedInputStream(new         rceFile.getName().substring(sourceFile.getName().lastIndexOf('.') + 1);while ((bytesRead = bis.read(buffer)) != -1) {File partFile = new File(sourceFile.getParent(), fileNameWithoutExt +         bos.write(buffer, 0, bytesRead);bytesWritten += bytesRead;if (chunkSize != -1 && bytesWritten >= chunkSize) break;bytesRead = bis.read(buffer);}}index++;}System.out.println("文件分割完成,共生成了" + index + "个文件");} catch (IOException e) {e.printStackTrace();}}
}

2、组装文件代码

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;public class FileAssembler {public static void main(String[] args) {// 分割后文件所在的目录路径String sourceDirectoryName = "E:other/file";// 目标文件路径,注意,这里是文件名String targetFile = "d:/file/text.rar";assembleFiles(sourceDirectoryName, targetFile);}private static void assembleFiles(String sourceDirPath, String targetFile) {Path directoryPath = Paths.get(sourceDirPath);if (!Files.isDirectory(directoryPath)) {return;}try (BufferedOutputStream bos = new                 BufferedOutputStream(Files.newOutputStream(Paths.get(targetFile)))) {// 获取所有部分文件,请注意,所有名称顺序要按生成的命名方式,不能修改Stream<Path> paths = Files.list(directoryPath).filter(Files::isRegularFile).sorted();for (Path partFile : paths.collect(Collectors.toList())) {try (BufferedInputStream bis = new BufferedInputStream(new                     FileInputStream(partFile.toFile()))) {byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = bis.read(buffer)) != -1) {bos.write(buffer, 0, bytesRead);}}}System.out.println("文件组装已完成。请到目标路径下查看。");} catch (IOException e) {e.printStackTrace();}}
}

这篇关于文件太大了,怎么办,吃了它?分了它?我帮您想想办法。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087769

相关文章

ExtMvc store不能通过xtype选择器得到的办法

store 不能通过xtype选择器得到,  init : function() {         this.control({                 'smsmenu gridpanel[name='company'] : {                                         render:function(grid,opts){

CSS学习12--清除浮动的本质及处理办法

清除浮动 前言一、清除浮动的本质二、清除浮动的方法 前言 为什么要清除浮动? 浮动不占用原文档流的位置,可能会对后面的元素排版产生影响。因此需要在该元素中清除浮动,清除浮动后造成的影响。 一、清除浮动的本质 为了解决父级元素因为子级元素引起内部高度为0的问题。 <html><head><style>* {padding: 0;margin: 0;}.box1 {width:

解决开机提示STOP:c0000218办法教程

“STOP:c0000218 {Registry File Failure}”是一个很典型的错误信息,造成错误的原因是硬盘错误或硬盘损坏。解决办法如下:   1. 从 Windows XP 光盘启动计算机。如果出现提示,请选择从光盘启动计算机必须选择的任何选项。   2. 当提示你选择“修复或故障恢复”时,请按R。这将启动Microsoft故障恢复控制台。   3. 根据提示,键

iOS 18beta/正式版升级办法分享

随着科技的飞速发展,苹果公司每一次的iOS系统更新都为我们带来了前所未有的便捷与惊喜。如今,iOS 18的发布再次激起了广大iPhone用户的升级热情。为了让大家能够顺利、高效地升级到这一全新系统,今天我将为大家分享几种实用的升级iOS 18的方法,确保你的iPhone能够第一时间享受到最新技术的魅力。 一、准备工作:确保万无一失 1. 备份重要数据 升级前,首要任务是保护好你的数据。建

window系统怎么设置闹钟提醒?分享一个桌面提醒设置办法

在日常工作和生活中,我们常常会因忙碌而遗忘一些重要事项。对于很多使用电脑办公的用户来说,如果能在桌面上设置闹钟提醒,无疑会大大提高工作效率,减少遗漏。那么,如何设置这样的闹钟提醒呢? 这时,选择一款好用的提醒软件就显得尤为重要。敬业签就是这样一款备受欢迎的提醒工具。它不仅功能强大,而且支持多端使用,无论是安卓系统、苹果手机(ios系统)、鸿蒙(HarmonyOS)、iPad、iWatch,还是W

nvm list available出现的 Could not retrieve https://nodejs.org/dist/index.json办法解决

好久没有用电脑的nvm list available 命令,今天晚上突然用发现趟趟趟~~ 报错 刚开始报错:是这样滴 Could not retrieve https://nodejs.org/dist/index.json.Get https://nodejs.org/dist/index.json: net/http: TLS handshake timeout 方法尝试1:重装系统

Java 爬虫遇上数据异步加载,试试这两种办法!

爬虫工具根据Xpath路径解析网页时,如果页面是异步加载,则无法获取到js渲染后的界面。这样我们通过XPath路径则定位到具体对象。对此类问题的解决方案有两种。 第一:内置浏览器内核 内置浏览器就是在抓取的程序中,启动一个浏览器内核,使我们获取到 js 渲染后的页面,这样我们就跟采集静态页面一样了。这种工具常用的有以下三种: SeleniumHtmlUnitPhantomJs 这些工具都能

足底筋膜炎怎么治疗最好的办法

足底筋膜炎的症状主要包括以下几个方面: 1、灼热感:当足底筋膜炎症发病期间,可能会导致神经调节功能失调,从而诱发出现感觉异常,使患者产生自觉发热或烧灼感。 2、肿胀:长时间站立、从事重体力劳动等因素,可能导致足底筋膜组织受损,引发炎症病变。在炎症因子的刺激下,患者可能会感到发酸、肿胀等症状。 3、肌痉挛:足底筋膜炎可能导致足底肌肉发生炎症反应,促使肌肉长时间处于紧张状态,进而引发肌紧张、

linux(ubuntu)编译busybox遇到的问题处理办法

今天研究了一下busybox的编译。自己下了一个busybox-1.25.0的版本(直接从busybox官网上下载:https://busybox.net/downloads/),进行编译,遇到了一些问题,通过百度搜索和自己摸索,也成功解决了,详细记录如下: 首先交代一下系统版本和开发环境: 操作系统:ubuntu 12.04(64bit)交叉编译工具链:arm-linux-gcc 4.4.3

视频压缩怎么操作?三个办法教你无损压缩视频

随着假期的结束,很多同学和朋友们开始整理自己在假期期间拍摄的各种视频,准备分享到社交媒体或是保存到自己的移动设备上。 然而,面对高清甚至4K视频的大文件体积,不少人都会遇到存储空间不足的问题。这时候,一个好的视频压缩工具就能派上大用场了。它们能教你视频压缩文件太大如何缩小,让视频文件轻松应对分享和存储的需求。 ♦ 剪辑魔法师 〼推荐指数:★★★★☆ 〼压缩效果:★★★★★ ▏软件介绍