Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于字符串的大文件分离和回车插入

基于字符串的大文件分离和回车插入
EN

Stack Overflow用户
提问于 2015-10-01 01:59:10
回答 1查看 399关注 0票数 0

VB.Net是新手,但一位朋友建议我用它来做我想做的事情。我有一个巨大的文本文件,我想在一个特定的字符串之后插入回车。

除了下面的混乱之外,我如何修改它来读取一个文件,然后一旦我们看到文本"ext“,插入一个新的行提要。我希望输入文件中的一行能产生大量的回车。

目前,我在下面一起模拟的是读取一个输入文件,直到行尾,然后再将它写入另一个文件中。

代码语言:javascript
运行
AI代码解释
复制
Module Module1
Sub Main()
    Try
        ' Create an instance of StreamReader to read from a file. 
        ' The using statement also closes the StreamReader. 
        Using sr As StreamReader = New StreamReader("C:\My Documents\input.txt")
            Dim line As String
            ' Read and display lines from the file until the end of  
            ' the file is reached. 

            Using sw As StreamWriter = New StreamWriter("C:\My Documents\output.txt")
                Do Until sr.EndOfStream
                    line = sr.ReadLine()
                    sw.WriteLine(line)
                    Console.WriteLine("done")
                Loop
            End Using
        End Using
    Catch e As Exception
        ' Let the user know what went wrong.
        Console.WriteLine("The file could not be read:")
        Console.WriteLine(e.Message)
    End Try
    Console.ReadKey()
End Sub

在评论之后所作的修改。由于内存限制而掉到500 to文件上:

代码语言:javascript
运行
AI代码解释
复制
    Sub Main()
    Try
        ' Create an instance of StreamReader to read from a file. 
        ' The using statement also closes the StreamReader. 
        Using sr As StreamReader = New StreamReader("C:\My Documents\input.txt")
            Dim line As String
            Dim term As String = "</ext>"
            ' Read and display lines from the file until the end of  
            ' the file is reached. 

            Using sw As StreamWriter = New StreamWriter("C:\My Documents\output.txt")
                Do Until sr.EndOfStream
                    line = sr.ReadLine()
                    line = line.Replace(term, term + Environment.NewLine)
                    sw.WriteLine(line)
                    Console.WriteLine("done")
                Loop
            End Using
        End Using
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-01 06:21:55

因为你的台词很大,你必须:

  • 一次读/写一个字符
  • 保存最后的x字符
  • 如果最后x个字符等于您的项,请写一条新行。 Dim术语As String =“Dim lastChars As String =”.PadRight(term.Length)使用sw As StreamWriter = New StreamWriter("C:\My Documents\output.txt")使用sr作为新System.IO.StreamReader("C:\My Documents\input.txt"),而不是sr.EndOfStream Dim缓冲区( 1)作为Char sr.Read(缓冲区,0,1) lastChars &= (0) lastChars = lastChars.Remove(0,( 1) sw.Write(缓冲器(0))如果lastChars = term,则sw.Write(Environment.NewLine)结束时使用结束

注意:这将不适用于Unicode文件。这假设每个字符都是一个字节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32884674

复制
相关文章
回车和换行的区别
我的大作业队友问我\r和\n有什么区别。这个问题很早就查过,不过没有总结下来。以下内容总结自别人的博客
饶文津
2020/06/02
1.9K0
回车和换行
今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做"回车",告诉打字机把打印头定位在左边界;另一个叫做"
ruanyf
2018/04/12
3.1K0
统计大文件中字符串出现的次数
如果有一个大文件,里面全是ip字符串,现在需要统计每个ip出现的次数,并且ip长度都挺长的,怎么在不使用map的情况下怎么统计,或者怎么优化
opencode
2022/12/26
1.6K0
iOS NSString 去除空格和回车
去除两端空格 NSString *temp = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 去除两端空格和回车 NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];
傅_hc
2018/07/04
1.6K0
大文件的存储和备份
大概这个算法是现在世界上最好的存储算法之一,原因是他的论文发在 SCI 上,现在还没有人写出一个比他好的算法。
林德熙
2018/09/18
3.6K0
大文件的存储和备份
大文件的上传和下载
文件小的时候,客户端和服务端之间的文件传输。很难感知出问题来。如果文件比较大了,不管是从服务器下载文件还是往服务器上传文件都是一个问题。这里插入一个分治思维、大文件的上传和下载能很好的体现该思维。如果一个问题比较难,我们可以不断的拆解成很多个子问题,不断拆开直到我们能解子问题。当我们把多个子问题解决完的时候,距离目标已经很近了。(拆分和聚合)
猿哥
2019/04/24
3.8K0
debian出现“更换介质,插入驱动器"/media/chrom/"再按回车键”
nano /etc/apt/sources.list把那出现的那行注释掉;含CD盘的一行; 然后apt-get update,然后装就不会出现了,这是一个cd盘,正确应该要从网上的源直接装; nano进入后,使用CTRL+o保存,并使用CTRL+X退出
似水的流年
2019/12/13
1K0
字符串插入(C++)
有两个字符串str和substr,str和substr的字符个数不超过10^5,只包含大小写字母和数字。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
喜欢ctrl的cxk
2022/05/07
8850
基于druid和spring的动态数据库以及读写分离
spring与druid可以实现动态数据源,夸库查询,读写分离等功能。现在说一下配置:
一笠风雨任生平
2019/08/02
1.4K0
基于maxscale的读写分离部署笔记
使用maxscale搭建的读写分离架构,后期还可以再结合MHA做master的故障转移,这样业务层面上不需要做任何的改动即可。
保持热爱奔赴山海
2019/09/18
1.9K0
基于maxscale的读写分离部署笔记
基于AbstractRoutingDataSource实现读写分离
所谓读写分离,本质上是数据库层面的查询和更新隔离,其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。
叔牙
2020/11/19
1.6K2
基于AbstractRoutingDataSource实现读写分离
基于minio实现大文件的分片上传功能
直接把minio开放出去作为一个s3服务,minio本身也是支持自动对文件进行分片上传的,但是这样会有一个问题,权限很难做精细化的控制,对于高安全性要求的场景就达不到安全要求。
明月AI
2023/08/26
4.5K0
基于minio实现大文件的分片上传功能
回车与换行的故事
以前在学汇编的时候,一直不知道老师在换行时,总会打一个换行符和回车符,原来他们还有这么一个故事….
帅地
2018/08/30
1.9K0
基于branch and bound插入的large neighborhood search
今年开年那会还在做一个课题的实验,那时候想用large neighborhood search来做一个问题,但是后来发现常规的一些repair、destroy算子效果并不是很好。后来才知道,large neighborhood search以及它的衍生算法,这类框架给人一种非常通用的感觉,就是无论啥问题都能往里面套。
短短的路走走停停
2020/11/09
6320
基于branch and bound插入的large neighborhood search
基于SpringBoot的前后端分离商城系统
前面分享了一个基于 Python 的电商系统,很多人私信我说,有没有基于 Java 的?
业余草
2020/04/24
1.1K0
基于SpringBoot的前后端分离商城系统
回车(CR)与换行(LF), '\r'和'\n'的区别
换行LF-将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标水平位置)
MCU起航
2021/07/16
3.9K0
基于Spring的数据库读写分离
提供一个统一的中间件,程序连接到中间件,中间件帮我们做读写分离,例如MyCat。
shysh95
2021/06/10
5250
SQL拆分多规则的字符串分离数字。
--拆分多规则字符串 DECLARE @Codes NVARCHAR(MAX) SET @Codes = '6*BC-007,*BC-016,9*BC-015' --对于*BC-015这种情况,则Qty设置为1 SELECT * FROM dbo.fun_split(@Codes, ',') SELECT (CASE WHEN CHARINDEX('*', sp.SplitValue) > 0 THEN SUBSTRING(sp.SplitValue, CHARIN
跟着阿笨一起玩NET
2018/09/19
1.5K0
回车提交表单
我们在页面开发中经常会写一些表单,但身为一个懒人,肯定是懒得点提交按钮的,我一般直接按回车提交
阿超
2022/08/17
4.1K0
点击加载更多

相似问题

mysqldump和分离插入的

12

基于字符串匹配和分号的字段分离

23

用PowerShell读取大文件并删除回车

31

在大文件中插入字符串

30

基于分号的字符串分离方法

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文