首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取文本文件C#中当前行上方的2行

在C#中,获取当前行上方的2行可以通过以下步骤实现:

  1. 首先,我们需要确定当前行的行号。可以使用C#中的LineNumber属性来获取当前行的行号。
  2. 接下来,我们需要打开文本文件,并逐行读取文件内容。可以使用C#中的StreamReader类来实现。
  3. 在读取文件内容时,我们需要记录当前行号和每一行的内容。可以使用C#中的List<string>来保存每一行的内容。
  4. 当读取到当前行时,我们可以通过当前行号来获取当前行上方的2行内容。可以通过当前行号减去2,并从保存每一行内容的列表中获取对应行号的内容。

下面是一个示例代码,演示了如何获取文本文件C#中当前行上方的2行:

代码语言:txt
复制
using System;
using System.Collections.Generic;
using System.IO;

public class Program
{
    public static void Main()
    {
        string filePath = "example.txt"; // 替换为实际的文件路径

        // 获取当前行的行号
        int currentLineNumber = 5; // 替换为实际的当前行号

        List<string> lines = new List<string>();

        // 逐行读取文件内容
        using (StreamReader sr = new StreamReader(filePath))
        {
            string line;
            int lineNumber = 0;

            while ((line = sr.ReadLine()) != null)
            {
                lineNumber++;

                // 保存每一行的内容
                lines.Add(line);

                // 当读取到当前行时
                if (lineNumber == currentLineNumber)
                {
                    // 获取当前行上方的2行内容
                    int startLineNumber = currentLineNumber - 2;
                    int endLineNumber = currentLineNumber - 1;

                    if (startLineNumber >= 0)
                    {
                        for (int i = startLineNumber; i <= endLineNumber; i++)
                        {
                            Console.WriteLine(lines[i]);
                        }
                    }
                    else
                    {
                        Console.WriteLine("当前行上方的行数不足2行。");
                    }

                    break;
                }
            }
        }
    }
}

请注意替换代码中的文件路径和当前行号为实际的值。这段示例代码会输出当前行上方的2行内容。如果当前行上方的行数不足2行,则会输出相应的提示信息。

这个示例中没有提及任何云计算品牌商相关的产品或链接地址,如有需要,请自行根据实际情况添加。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

EasyScreenLive同屏功能组件C#如何实现RTSPSERVER获取本机IP功能

TSINGSEE青犀视频EasyScreenLive同屏组件内置有一个轻量级RTSPSERVER,可以对于采集音视频源进行RTSP分发,最近有一个C#使用者在调研时候,对于RTSPSERVERLocalIP...获取不是很清楚,下面结合代码做个演示,说明实现方法以及如何使用。...1、定义函数GetLocalIP()用于获取本机IP; 2、具体实现如下: /// /// 获取当前使用IP /// /// <...HostName); for (int i = 0; i < IpEntry.AddressList.Length; i++) { //从IP地址列表筛选出...“成功” : “失敗”)); 在实际使用,EasyScreenLive同屏组件只需要调用EasyScreenLive几个API接口,就能轻松、稳定地把流媒体音视频数据RTMP推送给EasyDSS服务器以及发布

1.5K20
  • 【100个 Unity小知识点】 | C#通过 数字int值 获取 枚举Enum 数值

    Unity 小知识点学习 C# 通过数字int值获取枚举Enum方法 枚举 是 值类型 ,数据直接存储在栈,而不是使用引用和真实数据隔离方式来存储。...默认情况下,枚举第一个变量被赋值为0,其他变量值按定义顺序来递增(0,1,2,3…) enum枚举类型变量名字不能相同,但是值可以相同 如果enum部分成员显式定义了值,而部分没有;那么没有定义值成员还是会按照上一个成员值来递增赋值...方式来获取枚举值: Debug.Log("state:" + SlamStateChange.NotInitialized);//state:NotInitialized...SlamStateChange.Lost);//state:Lost Debug.Log("state:" + SlamStateChange.Tracking);//state:Tracking 也可以使用int值方法来获取枚举值...Unity端拿到这个值之后,通过判断这个int类型数值来判断当前应用程序状态。。 所以这里就可以使用int值方法来获取枚举值来完成状态更新。

    2.6K10

    C#记事本项目开发,一个可以实现批量操作记事本!【附源码】

    C#窗体应用,我们可以直接对界面进行控件布局,不需要使用代码定义控件,在这一点上C#窗体应用开发是很不错。...那么在记事本应用,我们应该添加在窗体控件应该有,文件新建、打开、保存,以及字体样式、字号、是否加粗倾斜这些基本记事本控件。同时当然还需要记事本编辑文本框,方便我们对内容修改和输入。...= new Font(fontname, fontsize); } 在字号发生变化时,我们需要将文本框内容字号进行改变,这个时候就需要我们在相应函数中进行设置: //字号发生改变时..., "警告"); } } 打开文件控件函数: 在进行文件打开操作时,我们需要对所打开文件进行筛选,只要求打开txt格式文本文件即可。...可以点击此处下载“开发源码”,或者关注大灰狼微信公众号 “灰狼洞主” 回复“C#记事本”即可获取完整源码! 大灰狼陪你一起进步!

    1.9K10

    vscode 常用快捷键

    Visual Studio Code是个牛逼编辑器,启动非常快,完全可以用来代替其他文本文件编辑工具。...(最多3个)Ctrl+\,也可以按住Ctrl鼠标点击Explorer里文件名 左右3个编辑器快捷键Ctrl+1 Ctrl+2 Ctrl+3 3个编辑器之间循环切换 Ctrl+` 编辑器换位置,Ctrl...Ctrl+Enter 在当前行上方插入一行Ctrl+Shift+Enter 光标相关 移动到行首:Home 移动到行尾:End 移动到文件结尾:Ctrl+End 移动到文件开头:Ctrl+Home...+Shift+L Ctrl+D下一个匹配也被选中(被我自定义成删除当前行了,见下边Ctrl+Shift+K) 回退上一个光标操作Ctrl+U 重构代码 找到所有的引用:Shift+F12 同时修改本文件中所有匹配...跳转到下一个Error或Warning:有多个错误时可以按F8逐个跳转 查看diff 在explorer里选择文件右键 Set file to compare,然后需要对比文件上右键选择Compare

    2.5K71

    ☀️ 学会编程入门必备 C# 最基础知识介绍—— C# 高级文件操作(文本文件读写、二进制文件读写、Windows 文件系统操作)

    C# 文本文件读写???? StreamWriter 类 C# 二进制文件读写????...本篇文章是介绍C#输入输出知识扩展内容,来源于 ☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件输入与输出文件输入与输出这块内容...特此来详细介绍一下 C# 文本文件读写????...DirectoryInfo 对象 DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows"); // 获取目录文件以及它们名称和大小...,它会显示文件名称及它们在 Windows 目录大小。

    1.1K30

    Linux——常用命令(2)

    通常结合着“>”重定向符号,用来在文本文件,添加数据,“>>” 表示追加。...-a:此参数效果和同时指定"-dpR"参数相同; -d:复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在... 6、复制 yy   复制当前行整行内容到剪贴板         #yy   复制从光标处开始#行内容  7、粘贴 p 小写    将缓冲区内容粘贴到光标位置处之后               ...U  用于取消对当前行所做所有编辑  10、保存退出 ZZ      保存当前文件内容并退出vi编辑器 ---- 末行模式操作:Shift + :  1、保存文件 :w  保存修改内容   :w...filesystems 在当前文件读入其他文件内容  替换 :s /old/new 将当前行查找到第一个字符“old” 串替换为“new”  :s /old/new/g 将当前行查找到所有字符串

    25020

    C语言系列之文件操作

    给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行!!! 铁铁们,成功路上必然是孤独且艰难,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!!...其实有时候我们会把信息输出到磁盘上,需要时候再从磁盘上把数据读取到内存中使用,这里处理就是磁盘文件。...三、二进制文件和文本文件 根据数据组织形式,数据文件被称为文本文件或者二进制文件,数据在内存以二进制形式存储,如果不加转换输出到外存文件,就是二进制文件。...如果要求在外存上以ASCII码形式存储,则需要在存储前转换,ASCII、码字符形式存储文本就是文本文件。...四、文件操作(本文重点部分) 4.1流 这是文件操作中常用操作。 我们程序数据许需要输出到各种外部设备,也需要从各种外部设备获取数据。

    8610

    【Linux】三剑客 grep、awk、sed 常见用法

    一、grep 命令 1、适用场景 grep 命令擅长在文本文件搜索指定模式,常用于查找文本匹配内容。...abc行 grep "abc" demo.txt 从文本文件查找同时包含abc、def行 grep -E "abc|def" demo.txt 从文本文件查找空行以外内容 grep -v "^$..." demo.txt # 这里 ^$ 是正则表达式,后边会具体讲 在当前目录(不包含子目录)查找包含abc文本文件 grep -l "abc" * 在当前目录(包含子目录)查找包含abc...2、基本格式 awk '{指令}' 文件名 3、基本概念 NR # 当前行「行号」 NF # 当前行「列数(字段个数)」 $0 # 当前行文本内容...,"{print} 等价于 {print $0}" $1 # 当前行、第一个字段文本内容 $2 # 当前行、第二个字段文本内容 $(NF-1) # 当前行、倒数第二个字段文本内容

    49820

    C# 获取 Excel 文件所有文本数据内容

    功能需求 获取上传 EXCEL 文件所有文本信息并存储到数据库里,可以进一步实现对文件内容资料关键字查询全文检索。...有助于我们定位相关文档,基本实现步骤如下: 1、上传 EXCEL 文件,获取二进制数据并创建副本文件。 2、将EXCEL 副本文件通过 COM API 导出到指定文本文件。...3、获取文本文件内容字符串并存储到数据库。...关键代码 组件库引入 获取Excel文件文本内容 getExcelContent 方法返回 string 类型内容,即表示EXCEL 文件文本内容,说明如下表: 序号 参数名 类型 说明 1 _filename...总结 以上代码我们提供了一些操作 EXCEL API关键方法,后续我们可以将文本内容存储到数据库,查询或下载,可以参考我文章: 《C# 将 Word 转文本存储到数据库并进行管理》 关于 EXCEL

    6710

    使用Python快速抠图

    是一种面向对象动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本不断更新和语言新功能添加,越来越多被用于独立、大型项目的开发。...例如:深受欢迎新闻网站www.rebbit.com就是使用python开发。 3.文本处理——python在字符串和文本文件处理发面提供了强大支持,包括正则表达式和Unicode。...当然,python并非对任何项目来说倒是最佳选择,其速度通常比Java、C#、C++等语言慢,因此开发新操作系统是不会使用python。...好了好了步入正轨首先准备好python 传送门:点我传送 配置环境变量等教程都在上方传送门里 其次在计算机安装pip win10点开开始菜单输入cmd 以管理员方式运行 win7按win+r输入cmd...get-pip.py 等安装完毕之后cmd输入pip查看是否安装成功 然后在cmd窗口输入 pip install removebg 安装第三方包 安装完成之后 去这里remove.bg 用邮箱注册并获取

    1.2K20

    Linux 编辑器之神vim编辑器

    vim 编辑器 Linux:使用文本文件来保存配置信息 文本编辑器:ASCII文件 emacs vi vi:Visual Interface(纯字符界面的编辑器) 全屏文本编辑,nano 模式化编辑器...i:当前光标处输入内容 I:在当前光标所在行行首 a:在当前光标所在处后面 A:在当前光标所在行行尾输入 o:在光标所在行下方新增一行空白行 O:在光标所在行上方新增一行空白行...p粘贴 #yy:复制#行 p:paste 粘贴 复制或删除是整行 p:当前行下一行 P:当前行上一行 复制或删除为非整行 p:粘贴在光标所在字符后面 P: 粘贴在光标所在字符前面...:表示当前行 :最后一行 -2:倒数第3行 /pat1/,/pat2/:起始处为光标所在行 d: 删除 c:改变 跟d一样操作 y:yank,复制 跟d一样操作 s:替换 :set nohlsearch...&:用于在替换为内容部分引用前面匹配到所有内容

    9.4K20

    50个VSCode快捷键,肯定有你需要那个!(包含修改默认快捷键方法)

    + v 关闭当前VSCode编辑器: ctrl + shift + w 切出一个新编辑器窗口(最多切出三个): ctrl + \ 切换左右三个编辑器窗口: ctrl + 1 ctrl...: ctrl + enter 在当前行上方插入一行: ctrl + shift + enter 复制当前行: 向上复制一行:shift + alt + up 向下复制一行:shift + alt +...: shift + end 选择从光标到行首内容: shift + home 删除光标右侧所有内容(当前行): ctrl + delete 扩展/缩小选区范围: shift + alt + ⬅...+ F12 同时修改本文件所有匹配: ctrl + F2 跳转到下一个Error 或 Warning: 有多个错误时可以按F8 5.查找替换: 查找: ctrl + f 查找并替换: ctrl +...: ctrl + shift +u 8.修改默认快捷键方法: 关注公众号:学编程GISer,后台回复 快捷键 ,获取VSCode官方快捷键汇总PDF。

    4.6K20

    【深入浅出C#】章节 7: 文件和输入输出操作:文件读写和流操作

    文件读写基本概念是通过输入和输出操作来与计算机上文件进行交互。读取文件允许程序从文件获取数据,以供后续处理和分析;而写入文件则允许程序将数据存储到文件,以备后续使用或共享给其他应用程序。...在C#,可以使用FileStream类或者更高级StreamReader类来读取文件内容。...二、文本文件读写 2.1 文本文件读取和写入 文本文件读取和写入是常见文件操作任务,在C#可以使用StreamReader和StreamWriter来实现。...文本文件操作:文件流也支持读取和写入文本文件,可以方便地对文本文件进行读取、查找、替换等操作。 文件复制和移动:通过文件流,可以轻松实现文件复制和移动。 文件流在计算机编程是非常重要和常用概念。...五、文件读写异常处理 在文件读写过程,可能会出现各种异常情况,如: 文件不存在或无法访问:打开一个文件进行读写操作时,如果文件不存在或者没有足够权限访问该文件,会抛出FileNotFoundException

    2.8K50
    领券