切割文件常用什么算法?

问题描述

最近想做个切割文件的东西,通常切割文件是用什么算法来实现?先说声谢谢!

解决方案

解决方案二:
没人啊啊啊啊啊啊
解决方案三:
问题是你要用来做什么?如果仅仅是因为单个文件的体积太大,想切割成若干个小文件,就不需要算法,直接把文件分块读出来保存。  如,你想为了电邮或者网盘用,他们限制每个单独的文件如50M,你有一个128M的文件,就先把第一个50M读出来保存,再把第二个50M读出来保存,最后,把剩余的尾数部分读出来保存,就切割成三个文件了。  如果你是想,把1小时的视频切成每20分钟一段,每段都可以单独播放,或者把一百万字的WORD小说,切割成十万字一段的小片段,每段都可以单独阅读,则¥%*—……)(*—%……*好自为之,呵呵,太难了。
解决方案四:
最简单的情况,切割后最好跟个checksum信息,方便合并后的检查是否被破坏.
解决方案五:
新手前来报道,学点东西最好了!
解决方案六:
引用3楼youyou1912的回复:

最简单的情况,切割后最好跟个checksum信息,方便合并后的检查是否被破坏.

还要加个分片序号,方便组包
解决方案七:
你分割文件,就看你的分割要求了
解决方案八:
引用5楼caschaoxin的回复:

Quote: 引用3楼youyou1912的回复:
最简单的情况,切割后最好跟个checksum信息,方便合并后的检查是否被破坏.

还要加个分片序号,方便组包

LZ没有任何复杂要求的话,直接分割文件就OK了。有要求则按两位兄台说的来吧。哈希算法什么的非常多。

时间: 2024-09-20 00:10:40

切割文件常用什么算法?的相关文章

常用排序算法比较与分析

 一.常用排序算法简述 下面主要从排序算法的基本概念.原理出发,分别从算法的时间复杂度.空间复杂度.算法的稳定性和速度等方面进行分析比较.依据待排序的问题大小(记录数量 n)的不同,排序过程中需要的存储器空间也不同,由此将排序算法分为两大类:[内排序].[外排序]. 内排序:指排序时数据元素全部存放在计算机的随机存储器RAM中. 外排序:待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中还需要对外存进行访问的排序过程. 先了解一下常见排序算法的分类关系(见图1-1) 图1-1 常见

Apache的httpd.conf文件常用指令解释

apache Apache的httpd.conf文件常用指令解释 ServerType standalone #设置服务器的形式是单独启动(standalone),还是借由互联网络伺服程序inetd来启动.一般使用前者. ServerRoot "/usr/local/apache" #设置服务器的Home目录,用来存放服务器的设置文件.错误文件.记录文件. PidFile logs/httpd.pid #程序启动时,把父进程httpd的进程号(process id)存在这个文件中.这个

Hadoop文件常用压缩方法的压缩效果比较

对于Hadoop文件常用的几种压缩方法,我写了一个java程序进行比较. 期望是,给出一个大文件(bigfile.txt) ,我们用各种方式压缩他们然后最终复制到HDFS中. 代码很简单:就是构造codec的实例,然后让它来创建到HDFS的输出流 /* */ package com.charles.hadoop.fs; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputS

Linux系统下切割文件的split命令用法教程

  你曾经是否想要把一个大文件分割成多个小文件?比如一个5gb日志文件,我们需要把它分成多个小文件,这样我们才有可能使用普通的文本编辑器读取它.有时我们需要传输20gb的大文件到另一台服务器,这就需要我们把它分割成多个文件,这样便于传输数据.下面我们来讲解使用split命令来切割文件的方法. 代码如下: [root@localhost database]# ls -lh gkdb.db -r--r--r-- 1 root root 411M Jul 23 17:20 gkdb.db 将将这个27

Linux系统下切割文件的split命令用法

  你曾经是否想要把一个大文件分割成多个小文件?比如一个5gb日志文件,我们需要把它分成多个小文件,这样我们才有可能使用普通的文本编辑器读取它.有时我们需要传输20gb的大文件到另一台服务器,这就需要我们把它分割成多个文件,这样便于传输数据.下面我们来讲解使用split命令来切割文件的方法. 复制代码 代码如下: [root@localhost database]# ls -lh gkdb.db -r--r--r-- 1 root root 411M Jul 23 17:20 gkdb.db 将

常用的算法思想总结

对于计算机科学而言,算法是一个非常重要的概念.它是程序设计的灵魂,是将实际问题同解决该问题的计算机程序建立起联系的桥梁.接下来,我们来看看一些常用的算法思想. (一)穷举法思想 穷举法,又称为强力法.它是一种最为直接,实现最为简单,同时又最为耗时的一种解决实际问题的算法思想. 基本思想:在可能的解空间中穷举出每一种可能的解,并对每一个可能解进行判断,从中得到问题的答案. 使用穷举法思想解决实际问题,最关键的步骤是划定问题的解空间,并在该解空间中一一枚举每一个可能的解.这里有两点需要注意,一是解空

视觉直观感受 7 种常用排序算法

10月14日发布<统计世界的十大算法>后,很多朋友在后台询问,哪里有"视觉直观感受 7 种常用排序算法",今天分享给大家,感谢todayx.org. 1. 快速排序 介绍: 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,

Java常用排序算法及性能测试集合_java

现在再回过头理解,结合自己的体会, 选用最佳的方式描述这些算法,以方便理解它们的工作原理和程序设计技巧.本文适合做java面试准备的材料阅读. 先附上一个测试报告: Array length: 20000bubbleSort : 766 msbubbleSortAdvanced : 662 msbubbleSortAdvanced2 : 647 msselectSort : 252 msinsertSort : 218 msinsertSortAdvanced : 127 msinsertSor

js实现常用排序算法_javascript技巧

本文为大家分享了js实现常用排序算法,具体内容如下 1.冒泡排序 var bubbleSort = function (arr) { var flag = true; var len = arr.length; for (var i = 0; i < len - 1; i++) { flag = true; for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j+1]; arr