/*
         *   保存原理
         *   将LISTVIEW视为一行一行的字符串
         *   将所有的行合并成一个字符串 然后保存为TXT文件
         *  
* 而每行又是由 几个 子项组成,先把子项连接成字符串
         *   2019年11月27日 18:03:17
         */

源文件:https://download.csdn.net/download/u012663700/12001338

 using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace ListViewItemsReadWrite
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} //保存到文件,没有指定路径则路径就是当前EXE的路径
string conf = "test.txt";
/*
* 保存原理
* 将LISTVIEW视为一行一行的字符串
* 将所有的行合并成一个字符串
*
* 而每行又是由 几个 子项组成,先把子项连接成字符串
* 2019年11月27日 18:03:17
*/ //SAVE
private void button1_Click(object sender, EventArgs e)
{
//将listView中的内容保存成TXT格式
string[] arr = new string[listView1.Items.Count];
for (int i = ; i < listView1.Items.Count; i++)
{
string s = "";
int len = listView1.Items[].SubItems.Count;
for (int j = ; j < len; j++)
{
//用逗号作为分割符 如果 有子项中包含逗号 要出问题的
s += SqlString.Transform(listView1.Items[i].SubItems[j].Text) + ",";
} if (s.EndsWith(","))
s = s.Substring(, s.Length - ); arr[i] = s;
}
//保存到文件
File.WriteAllLines(conf, arr);
} //READ
private void button2_Click(object sender, EventArgs e)
{
//从文本中读取数据到listView当中 string[] array = File.ReadAllLines(conf); listView1.Items.Clear();
for (int i = ; i < array.Length; i++)
{
if (array[i].Length > )//不添加空行
{
ListViewItem listviewItem = new ListViewItem();
string s = array[i].ToString(); //这里没有对格式是否符合要求进行判断,如果内容被修改成其他格式则会出异常的
string[] arr = s.Split(',');
listviewItem.Text = SqlString.Restore(arr[]);
listviewItem.SubItems.Add(SqlString.Restore(arr[]));
listviewItem.SubItems.Add(SqlString.Restore(arr[]));
listviewItem.SubItems.Add(SqlString.Restore(arr[]));
listView1.Items.Add(listviewItem);
}
}
} private void button3_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
}
}
}

listview1 保存和读取 listViewItems保存为txt的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性

    本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...

  2. Protobuf for Python测试保存和读取文件

    安装pip, setuptools, and wheel 如果已经从python.org,安装啦Python 2 >=2.7.9 or Python 3 >=3.4 ,那么就已经有啦pip ...

  3. matlab各格式数据读取与保存函数

    数据处理及matlab的初学者,可能最一开始接触的就是数据的读取与保存: %matlab数据保存与读入 function datepro clear all; %产生随机数据 mat = rand(, ...

  4. JavaScript进阶(六)用JavaScript读取和保存文件

    用JavaScript读取和保存文件 因为Google还不提供同步插件数据的功能,所以导入和导出插件配置就必须和文件打交道了.而出于安全原因,只有IE才提供访问文件的API:但随着HTML 5的到来, ...

  5. Spark学习之数据读取与保存总结(一)

    一.动机 我们已经学了很多在 Spark 中对已分发的数据执行的操作.到目前为止,所展示的示例都是从本地集合或者普通文件中进行数据读取和保存的.但有时候,数据量可能大到无法放在一台机器中,这时就需要探 ...

  6. C# 结构体和List<T>类型数据转Json数据保存和读取

    C#  结构体和List<T>类型数据转Json数据保存和读取 一.结构体转Json public struct FaceLibrary { public string face_name ...

  7. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  8. Spark学习笔记4:数据读取与保存

    Spark对很多种文件格式的读取和保存方式都很简单.Spark会根据文件扩展名选择对应的处理方式. Spark支持的一些常见文件格式如下: 文本文件 使用文件路径作为参数调用SparkContext中 ...

  9. Python入门--15--文件读取、保存

    先看文件读取,open 1.文件打开模式: 打开模式 执行操作 'r' 以只读方式打开文件(默认) 'w'    以写入的方式打开文件,会覆盖已存在的文件 'x' 如果文件已经存在,使用此模式打开将引 ...

随机推荐

  1. vue使用vuex大体结构

    store1.js const state = {} const mutations = {} const actions = {} const getters = {} export default ...

  2. CSS两列布局

    方法1:左边设置绝对定位,右边设置左外边距,大小和左边的宽度相等 //CSS部分: .contain{ position :relative; height: 300px; } .left{ posi ...

  3. MongoDB 4.2.1 安装失败,提示 verify that you have sufficient privileges to start system services 解决

    官网下载地址:https://www.mongodb.com/download-center/community 问题: 解决:直接安装在根目录 测试:

  4. iOS静态库相关-封装lib

    来源:http://blog.csdn.net/zsomsom/article/details/9163635 Library介绍 基本知识 在实际的编程过程中,通常会把一些公用函数制成函数库,供其它 ...

  5. 采用MySQL-MMM做DB高可用时,遇到的一个小坑

    一.服务器分布   二.MySQL-MMM 配置 (1).公共配置[所有DB节点:Master1.Master2.Slave1.Slave2   Monitor节点] # vim /etc/mysql ...

  6. Kotlin使用处协变的意义与用法

    在上一次https://www.cnblogs.com/webor2006/p/11294849.html中对于Java的协变和Kotlin的协变提到了它们的区别,回忆一下: 其实在Kotlin中也有 ...

  7. 51nod 2499 不降的数字

    小b有一个非负整数 N,她想请你找出 ≤N≤N 的最大整数x,满足x各个位数上的数字是不降的.也就是说,设x的十进制表示为 a1,a2,…,ama1,a2,…,am,则对于任意 1≤i<m1≤i ...

  8. redis的生产环境中的部署?

    使用的是redis cluster 10台机器,5台机器部署了redis主实例,另外5台机器部署了redis 的从实例,每个主实例挂了一个从实例,5个节点对外提供读写服务,每个节点的读写高峰qps可能 ...

  9. C#随机数Random

    一.常用操作 NextDouble():返回0-1.0之间的随机数 Next():返回非负随机数(0-216) Next(i):返回一个小于i的非负随机数 Next(i,j):生成i – j 的随机数 ...

  10. css垂直居中的常用方法

    CSS实现垂直居中的常用方法 2017-04-17 渔歌 前端开发 来自:渔歌 - 博客园 链接:www.cnblogs.com/yugege/p/5246652.html(点击尾部阅读原文前往) 已 ...