以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 拆分文件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151515) |
||||
-- 作者:cglsg5076 -- 发布时间:2020/6/26 11:17:00 -- 拆分文件 请问老师,我有100万行数据的文本文件,要求拆分成5个20万行的文本文件,请问代码如何写? |
||||
-- 作者:linyunu1 -- 发布时间:2020/6/26 13:38:00 -- 参考 Dim dlg As New OpenFileDialog dlg.Filter = "文本文件|*.txt" If dlg.ShowDialog = DialogResult.OK Then Dim fl As String = dlg.FileName Dim sr As System.IO.StreamReader = New System.IO.StreamReader(fl,System.Text.Encoding.Default) Dim line As String Dim sb As new StringBuilder Dim i As Integer = 0 Dim j As Integer = 0 Do Until sr.EndOfStream if i = 10 then \'每份的行数 line = sb.Tostring Dim f As String = SpecialFolder.DesktopDirectory & "\\" & j & ".txt" FileSys.WriteAllText(f, line, False, Encoding.Default) j += 1 i = 0 sb.Clear() line = "" else sb.AppendLine(sr.ReadLine) i += 1 end if Loop line = sb.Tostring if line > "" then Dim f As String = SpecialFolder.DesktopDirectory & "\\" & j & ".txt" FileSys.WriteAllText(f, line, False, Encoding.Default) end if sr.Close() Msgbox("拆分完成") End If
[此贴子已经被作者于2020/6/26 13:52:03编辑过]
|
||||
-- 作者:cglsg5076 -- 发布时间:2020/6/26 16:55:00 -- 谢谢老师,sb.clear()不对,clear不是stringbuilder成员,请问如何改正?注销他运行内存溢出。 |
||||
-- 作者:linyunu -- 发布时间:2020/6/26 17:12:00 -- 我测试正常 |
||||
-- 作者:linyunu -- 发布时间:2020/6/26 17:13:00 --
代码没改 测试没问题
|
||||
-- 作者:cglsg5076 -- 发布时间:2020/6/26 17:46:00 -- 此主题相关图片如下:图片1.png |
||||
-- 作者:cglsg5076 -- 发布时间:2020/6/26 17:47:00 -- 语法错误,老师 |
||||
-- 作者:linyunu -- 发布时间:2020/6/26 17:56:00 -- .NET Framework 要4.0或4.0 以上 |
||||
-- 作者:linyunu -- 发布时间:2020/6/26 17:58:00 -- 或者试试sb.Remove(0, sb.Length) |
||||
-- 作者:cglsg5076 -- 发布时间:2020/6/26 18:21:00 -- 不行,我的操作系统是win10,安装提示已经是.net framework4.0以上,安装 .net framework 4.5提示也是系统已经是 .net framework 4.5,编译程序,还是不行。 |