网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月11日漏签0天
vb.net吧 关注:7,016贴子:37,220
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回vb.net吧
>0< 加载中...

由文件最基本的元素发明出来的文件拆解技术

  • 只看楼主
  • 收藏

  • 回复
  • 暴牙归来
  • shaogod
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前天我想到文件是由最基本的二进制数组成的联想到能否借助文件最基本的组成原理将文件拆解成由二进制数字写成的文本文件从而解决一些文件无法发送的尴尬(例如邮箱中的附件传输,网盘中的文件传输等)。于是我在网上搜。终于找到了符合自己的方案。
我的思路是:将文件转换成一个由二进制数组成的一维数组并写入几个体积很小的文本文件。等需要的时候再将文本文件写入数组并还原成文件


  • 暴牙归来
  • shaogod
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
将文件转换成二进制数组代码(根据目标尺寸自动切割,以QQ邮箱为例):
'If filesize > 4 * 1024 * 1024 Then
'Dim filecount As Integer = Int(filesize / (4 * 1024 * 1024)) + 1
'My.Forms.切割文件.ProgressBar2.Maximum = filecount
'My.Forms.切割文件.ProgressBar2.Minimum = 0
Dim filebyte As Int64 = 0
Dim coventfile As coventfile = New coventfile
Dim filebytes() As Byte = coventfile.File2Bytes(filepath)
My.Forms.切割文件.Show()
'For i As Integer = 0 To filecount
'My.Forms.切割文件.ProgressBar2.Value = i + 1
My.Forms.切割文件.ProgressBar1.Maximum = filebytes.Length
My.Forms.切割文件.ProgressBar1.Minimum = 0
Dim sw As System.IO.StreamWriter
sw = IO.File.CreateText("F:\space craft\火\文件传输尺寸限制终结者(邮件版)\切割文件1.txt")
'sr = IO.File.CreateText("F:\space craft\火\文件传输尺寸限制终结者(邮件版)\切割文件" & i + 1 & ".txt")
For Each bit As Byte In filebytes
My.Forms.切割文件.ProgressBar1.Value = filebyte
sw.Write(bit)
filebyte += 1
Next
sw.Close()
'Next
MsgBox("文件切割成功!!!")
'End If


2025-10-11 18:20:02
广告
不感兴趣
开通SVIP免广告
  • 暴牙归来
  • shaogod
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还原文件代码:
istr = 1
Dim filepath As String = Me.OpenFileDialog1.FileName
textinfo = System.IO.File.ReadAllText(filepath, System.Text.Encoding.Default)
sr = IO.File.OpenText(filepath)
Me.ProgressBar1.Maximum = textinfo.Length
Me.ProgressBar1.Minimum = 0
Me.ProgressBar1.Value = istr
Me.Timer1.Interval = 1
Me.Timer1.Start()
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If sr.Peek <> -1 Then
Dim lines As String = sr.ReadLine
For Each s As String In lines
Me.ProgressBar1.Value = istr
bytes(istr) = s
istr += 1
ReDim bytes(istr)
Next
Else
Me.Timer1.Stop()
sr.Close()
Bytes2File(bytes, "F:\space craft\火\文件传输尺寸限制终结者(邮件版)\被还原的文件.mp4")
MsgBox("还原成功")
End If
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回vb.net吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示