我需要从.txt文件创建的列表中删除一行。
我已经创建了要从.txt文件打开的列表,可以看到该列表,可以添加新客户端,并且此客户端将保存到相同的.txt文件中,因此下次我打开它-我可以看到“更新列表”。
public static void ShowClientList()
{
string file =File.ReadAllText(@"C:\Users\Adminl\Documents\clients.txt");
Console.WriteLine(file);
Console.WriteLine();
}
public static void AddClient()
{
Console.WriteLine("Civ");
string civility = Console.ReadLine();
Console.WriteLine("Name");
string name = Console.ReadLine();
Console.WriteLine("Surname");
string surname = Console.ReadLine();
Console.WriteLine("Age");
string age = Console.ReadLine();
Console.WriteLine("Telephone No");
string telephone = Console.ReadLine();
string appendText = civility +','+" "+ name + ',' + " " + surname + ',' + " " + age + ',' + " " + telephone + Environment.NewLine; // This text is always added, making the file longer over time if its not deleted
string path = @"C:\Users\Adminl\Documents\clients.txt"; // FILE that either exist or no
File.AppendAllText(path, appendText);
}
我的意思是我有一个带有客户端(先生,约翰,史密斯,25、777-00-666的客户端)的.txt文件,我想从列表中删除此客户端或删除\更新参数之一( (例如电话号码,最后一个)。谢谢您的帮助!
答案 0 :(得分:0)
我认为您最好将此文件反序列化为包含这些属性的对象列表,然后可以进行修改,最后可以再次将其持久化。
答案 1 :(得分:0)
如果您只是使用文本文件,这会很乏味。但是为了这个问题:
您可以使用class ModalBottomSheetDemo extends StatelessWidget {
static const String routeName = '/material/modal-bottom-sheet';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Modal bottom sheet'),
actions: <Widget>[MaterialDemoDocumentationButton(routeName)],
),
body: Center(
child: RaisedButton(
child: const Text('SHOW BOTTOM SHEET'),
onPressed: () {
showModalBottomSheet<void>(context: context, builder: (BuildContext context) {
return Container(
child: Padding(
padding: const EdgeInsets.all(32.0),
child: Text('This is the modal bottom sheet. Tap anywhere to dismiss.',
textAlign: TextAlign.center,
style: TextStyle(
color: Theme.of(context).accentColor,
fontSize: 24.0
)
)
)
);
});
}
)
)
);
}
}
来读取文件中的所有内容,并以逗号分隔(基于StringBuilder
的格式,并在追加到StringBuilder时跳过该行,然后重新写入文件。
(Mr, John, Smith, 25, 777-00-666)