对文本文件中的数据进行重新排列

wsxcy66668888 2008-08-25 09:45:51
文本文件:data.txt 数据如下:
2410008001210020383915879939PASD2410008001210010383932222375PASD 2410008001210020383840276995PASD2410008001210010383891226945PASD
2410008001210020383784730903PASD2410008001210010383795669482PASD
2410008001210020383653007349PASD

。。。。。。。。。。。。

现在要对这些数据进行重新排列,格式为:
2410008001210020383915879939PASD
2410008001210010383932222375PASD
2410008001210000383973195065PASD
2410008001210020383840276995PASD

。。。。。。。。。。。。

如何编程实现,请教老师,谢谢

(注意:文本文件数据量很大,文件一般在10M左右,每行的最后四个字符不一定全是PASD,
因此不能作为添加回车符的标记,每行的位数是固定的)

...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlongwuhui 2008-08-26
  • 打赏
  • 举报
回复
参考如下:
Dim sr As New System.IO.StreamReader(" C:\data.txt", System.Text.Encoding.Default)
Dim arr As New ArrayList

Dim tmp As String = sr.ReadLine()
While Not tmp Is Nothing
tmp = tmp.Trim
If tmp.Length > 32 Then
arr.Add(tmp.Substring(0, 32))
arr.Add(tmp.Substring(32))
Else
arr.Add(tmp)
End If
tmp = sr.ReadLine
End While
sr.Close()
If arr.Count > 0 Then
arr.Sort()
Dim sw As New System.IO.StreamWriter("C:\newdata.txt", False, System.Text.Encoding.Default)
For i As Integer = 0 To arr.Count - 1
sw.WriteLine(arr.Item(i))
Next
sw.Close()
End If
cauhorse 2008-08-25
  • 打赏
  • 举报
回复
可以readline()
然后读长度,再分入数组就好了。。。
wsxcy66668888 2008-08-25
  • 打赏
  • 举报
回复
现在好象问题又简单了一些,要求每32个字符换一下行,要怎么写呢?
amandag 2008-08-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojekleen 的回复:]
每行的位数是固定的,这样就好了,每多少就换行啊。
[/Quote]
ojekleen 2008-08-25
  • 打赏
  • 举报
回复
每行的位数是固定的,这样就好了,每多少就换行啊。
streamreader sr=new streamreader("yourfile.txt");
streamwriter sw=new streamewriter("newfile.txt");
。。。。。。。。。
。。。。

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧