c# - 重新加载文件并保存最后一行位置
问题描述
我想要save
当前位置,当我重新加载文件时,它应该从saved
单击按钮时的位置开始。
例如:
我已经加载了 10 行的文件,我在第 5 行停止了
我用新的 400 行重新加载了文件,它应该从第 5 行开始读取
我有这样的事情:
public string readfiles(){
list = File.ReadAllLines(<path>).Distinct.Reverse.ToList();
number = list.Count -1;
msg = list[number];
list.RemoveAt(number);
return msg;
}
private void button_click(object sender, RoutedEventArgs e){
response.Text = readfiles();
}
private void reload_click(object sender, ROutedEventArgs e){
//here should reload file and start with current possition
}
我试过了:
public List<string> list(){
list = File.ReadAllLines(<path>).Distinct.Reverse.ToList();
return list;
}
public string readfiles(){
number = list.Count -1;
msg = list[number];
list.RemoveAt(number);
return msg;
}
private void button_click(object sender, RoutedEventArgs e){
response.Text = readfiles();
}
private void reload_click(object sender, ROutedEventArgs e){
list();
}
和
public List<string> list(){
list = File.ReadAllLines(<path>).Distinct.Reverse.ToList();
return list;
}
public int numbers(){
number = list.Count - 1;
return number;
}
public string readfiles(){
number = list.Count -1;
msg = list[number];
list.RemoveAt(number);
return msg;
}
private void button_click(object sender, RoutedEventArgs e){
response.Text = readfiles();
}
private void reload_click(object sender, ROutedEventArgs e){
list();
}
解决方案
您不能从特定行开始 ReadAllLines 但您可以跳过不需要的行
foreach(var line in list.Skip(5))
...
跳过是一个 LINQ 的东西,所以确保你using System.Linq
在文件的顶部有
至于在哪里放置/获取 5,您似乎正在使用 winforms,所以我会使用设置系统。在您的项目中获取属性,然后单击左侧的设置。添加一个名为“FileReadFrom”或类似名称的 USER SCOPED int
现在在代码中,您可以在代码Properties.Settings.Default.FileReadFrom
中的任何位置设置/获取,如果您Properties.Settings.Default.Save()
在退出应用程序之前记得这样做,它也会记住应用程序重新启动之间的设置
推荐阅读
- netsuite - 在 Netsuite 中使用 suiteScript 访问嵌套对象
- firebase - 不再支持带有 Arduino 的 Firebase 实时数据库?
- django - Django 导入导出内联
- python - 我做错了什么,似乎我所有的代码都是正确的,但我在添加到购物车 Django 电子商务应用程序时收到错误 404
- sql - 如何将一行两个日期时间列拆分为多行并按日期分组
- node.js - 优化文本搜索
- javafx - ButtonCell ComboBox 的图形
- angular - 具有不同值的角反应形式输入视图
- c# - 从同一解决方案中运行第二个项目
- nestjs - 如何在 NestJS 的控制器路由中获取配置?