社区
C#
帖子详情
如何从文件末尾往前一行一行的读取
wuhailq
2007-03-22 04:09:01
谢谢
...全文
1127
14
打赏
收藏
如何从文件末尾往前一行一行的读取
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
viena
2007-03-24
打赏
举报
回复
我的回复你看不懂?
文本文件当然可以用二进制方式读
比如你要读后面10行
实例化一个FileStream对象,定义一个byte数组(可以用内部缓冲区默认大小定义为4096字节)作为缓冲区,Seek到文件长度-4096,Read到缓冲区,遍历缓冲区,如果回车换行符不足10个,继续向前Seek,再读到缓冲区,循环往复,直到读够为止~
wuhailq
2007-03-23
打赏
举报
回复
就是文本文件呀,要不然怎么一行一行的读呢,比如一个日志文件,按照最近的时间顺序读出来。各位的回答都不错,我是想ReadLine();是从头读到尾的,但是反过来,从尾读到头就没有函数了,比如从文件尾往上读取10行,怎么办?当然可以把文件所有行读到数列,但是需要把文件从头读到尾,如果文件很大,内存和效率都是问题。怎么办?
王集鹄
2007-03-22
打赏
举报
回复
唉,楼主问题不描述清楚,不能怪我考虑不周
“如何从文件末尾往前一行一行的读取”勉强估计是文本文件
一般楼主不跟贴,我是不会再提供方案的 :)
viena
2007-03-22
打赏
举报
回复
只能用二进制方式读取
设定一个合适大小的byte数组作为缓冲区
通过计算定位Seek到适当的位置(比如第一次定位到文件长度减缓冲区长度)
遍历缓冲区,查找回车换行符
选取其中的内容转为字符串~
sanniko
2007-03-22
打赏
举报
回复
先顺序一行行读进去,再倒排序.
superbug1984
2007-03-22
打赏
举报
回复
文件没有换行符,那就是只有一行咯
这个问题要lz怎么看了,一行的文件当然读一次就搞定了
viena
2007-03-22
打赏
举报
回复
zswang(伴水清清)(专家门诊清洁工)的方案可行性不强
如果文件不大,当然可以全部读入内存,但不如用字符串数组更实惠些
如果文件很大,就不可行了~
viena
2007-03-22
打赏
举报
回复
seek到最后是可以的,但没有一行一行的概念了
不可能倒序读,定位到哪里是个问题
如果文件里面没有换行符呢?
jrl5365
2007-03-22
打赏
举报
回复
zswang(伴水清清)(专家门诊清洁工) ( ) 信誉:100 Blog
高人的思路很好啊?先来个顺序读再反过来读就可以了
superbug1984
2007-03-22
打赏
举报
回复
貌似lz的意思是要直接从文件读取?
我的考虑是将文件流指针直接指到最后然后往前移 :|
lsj_zrp
2007-03-22
打赏
举报
回复
楼上的注意不错
可以考虑用堆栈 Stack
王集鹄
2007-03-22
打赏
举报
回复
List<string> vList = new List<string>();
先顺序读到列表中
vList.Add(vLine);
然后再从列表中倒序读出
for (int i = vList.Count - 1; i >=0; i--)
//todo
ruan_hg
2007-03-22
打赏
举报
回复
Readline()
leixueqiyi
2007-03-22
打赏
举报
回复
写循环
for( inti=100;i〉0;i--)
3D图示Python标准自学教程基础篇(4)_文件处理
本套课程为Python基础篇的第4套课程,主要讲解python文件处理的系统知识体系。 首先讲解Python文件的概念以及常用读写函数open()、Read()、write()、close()以及文件读写访问标志。 其次讲解文件的典型应用文件的复制算法,以及with as 关键字简化资源关闭。本课程
末尾
讲解文件与目录的创建、删除、重命名、文件与目录的绝对路径与相对路径技术等。 课程
末尾
需要重点说明的是,本系列课程均设置课堂练习与课后作业集中讲解(录播形式),让初学者通过大量练习与阶段项目等手段有效强化学习效果,保证学习过程中的技能全面提升!教学特点: 使用大量(3D/2D)动画与图示方式,由浅入深讲解Python编程。配之海量课堂练习/课后作业的大量讲解,以及刘老师风趣幽默的课堂幽默感染力,让你轻松加愉悦的心情下开启Python系统学习之旅,系统与深入掌握当今最为火热的人工智能御用编程语言! 本Python教程分为入门、基础、中级、进阶篇,共15套教程组成。突出教学特点如下: 1:为弥补线下“互动性”与知识点的高“吸收率”,每套课程均设置“课堂练习”、“课后作业”、“阶段项目实战”、以及每个章节
末尾
的“课程笔记”整理环节,不断强化学员知识点的不断巩固与知识体系的梳理,不遗漏任何重要知识点。 以上四大自学环节设置,保证自学过程中知识的反复锤炼与全面吸收,最终获得优秀学习效果! 2:本Python系列课程(15套)从入门篇开始,完全从真正零基础开始讲起,特别适合中小学生以及大学非计算机专业的初学者开始入门! 3:大量采用3D/2D图形化示例讲解,对于Python抽象与复杂问题全部采用3D动画演示。 4:每套课程开始均设置“课程概述”: 讲解本套课程的前导课程、后续课程,以及本套课程的知识体系内容,帮助学习者更好的掌握课程的来龙去脉。 更多学习内容以图示方式供广大学员参考如下:
C/C++
从文件
末尾
往前
一行
一行
的读
int read_tail_line(FILE *fd,char *buf){ //从后
往前
一行
一行
的
读取
int c,ret; long offset; if(ftell(fd)==0){ return -1; } while(1){ c=fgetc(fd); if(c
python篇---
读取
文件最后
一行
和
从文件
最后
一行
往上
读取
读取
文件最后
一行
和
从文件
最后
一行
往上
读取
C/C++中
从文件
末尾
反向
读取
N行文件记录(
末尾
读取
文件)
最近在实际的开发项目遇到了一个问题,有个24小时在跑的Linux程序,会不断有日志输出,写到一个指定的日志文件中。但是,日志只提供了输出的功能,并没有
读取
日志文件的功能。如果给程序员自己看日志是很简单的,只需要用tail 或 vi 即可。但是现在有个需求,需要在程序的界面上显示日志文件的内容,而且是最近的100行记录。在网上搜索了一遍,总结一下: 1:
从文件
头开始,先用getline函数获取每一...
go语言逆序
读取
文件,
从文件
末尾
按行倒序
读取
文件
通过Seek函数从
末尾
移动游标然后每次
读取
一个字节
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章