private void 导入手机号ToolStripMenuItem_Click(object sender, EventArgs e)
{
using (OpenFileDialog Openfile = new OpenFileDialog())
{
Openfile.Filter = "文本文件|*.txt";
Openfile.Multiselect = false;
if (Openfile.ShowDialog() == DialogResult.OK)
{
Thread threadfile = new Thread(() => ReadFile(Openfile.FileName));
threadfile.IsBackground = true;
threadfile.Start();
}
}
} private void ReadFile(string filename)
{
txtlog.Invoke(new Action(() =>
{
txtlog.AppendText("开始读取手机号码".SetLog());
}));
var file = File.Open(filename, FileMode.Open);
int num = ;
int goods = ;
int repeat = ;
using (var stream = new StreamReader(file))
{
while (!stream.EndOfStream)
{
lock (lock_send)
{
if (sendlist.Count > )
{
break;
}
}
num++;
string linetemp = stream.ReadLine().Trim();
if (IsTel(linetemp))
{
lock (lock_send)
{
var data = sendlist.Where(m => m.Tel == linetemp).FirstOrDefault();
if (data != null)
{
repeat++;
continue;
}
}
goods++;
SendTel _send = new SendTel();
_send.Tel = linetemp;
_send.sms_status = status.待发送;
_send.send_time = null;
ListViewItem item = new ListViewItem(_send.Tel);
item.SubItems.Add(_send.sms_status.ToString());
item.SubItems.Add(_send.send_time);
item.SubItems.Add("");
listSend.Invoke(new Action(() =>
{
ListViewItem backitem = listSend.Items.Add(item);
dic.Add(_send.Tel, backitem);
}));
lock (lock_send)
{
sendlist.Add(_send);
}
}
}
}
txtlog.Invoke(new Action(() =>
{
string log = string.Format("添加完成!有效数据为:{0},过滤重复数据:{1},总数据:{2}", goods.ToString(), repeat.ToString(), num.ToString());
txtlog.AppendText(log.SetLog());
})); }
/// <summary>
/// 验证手机号是否合法
/// </summary>
/// <param name="tel"></param>
/// <returns></returns>
public static bool IsTel(string tel)
{
try
{
if (string.IsNullOrEmpty(tel) || tel.Length != )
{
return false;
}
return System.Text.RegularExpressions.Regex.IsMatch(tel, @"^[1]+[3,4,5,6,7,8]+\d{9}");
}
catch (Exception ex)
{
return false;
}
}

很久以前写的代码了,读取txt文件,一行一个手机号码,

好像要求txt文本文件必须是utf8格式,否则读取出来会乱码。

C# winform右击导入手机号码的更多相关文章

  1. C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]

    还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上 ...

  2. C# WinForm 导出导入Excel/Doc 完整实例教程[使用Aspose.Cells.dll]

    [csharp] view plain copy 1.添加引用: Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 ...

  3. winform 批量导入本地sql文件,批量导入mdb(access)文件到sqlserver

    0.数据库连接 private void button1_Click(object sender, EventArgs e) { this.btnUpdate.Enabled = false; #re ...

  4. winform项目导入数据

    一.点击导入按钮,弹出文件选择框 这个方法的使用要引用下面两个命名空间: using System.Windows.Forms;using DevExpress.XtraEditors; privat ...

  5. winform excel导入--自带office.interop.excel方式

    用npoi方式,遇到一个问题,有的excel用加密软件(盖章,只读等)生成的解析不了,所以换成自带的方式,可以解决. 需要引用系统自带Microsoft.office.interop.excel pu ...

  6. winform excel导入--NPOI方式

    项目中要用到excel导入数据,用NPOI方式做了一个demo,记录如下: Form1代码: public Form1() { InitializeComponent(); } private voi ...

  7. WinForm Excel导入

     主要代码如下: 定义一个DataSet   存放Excel读取的数据 /// <summary> /// Excel 表中读取的数据 /// </summary> publi ...

  8. Winform中导入exicel文件

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); ...

  9. MySQL excel导入

    说明: 1 因在测试发现如果用SQLyog导入数据需要下载excel驱动,因而选择Navicat 2 之前选择excel文件为xlsx 发现Navicat识别不了,因而转存为xls文件,测试OK 1  ...

随机推荐

  1. vue2 自定义时间过滤器

    // template {{a | data}} //script data:{   a: Date.now() } filters: {   data:function (input) {

  2. python read file(f,csv)

    import csv def readfile0(): print('test read file') in_file = open('C:\python\demo\LiaoXueFeng\data\ ...

  3. python. pandas(series,dataframe,index) method test

    python. pandas(series,dataframe,index,reindex,csv file read and write) method test import pandas as ...

  4. Android 程序drawable资源保存到data目录

    今天做了个小功能,就是把我们程序Drawable里面的图片保存到data目录下面,然后另外一个程序需要读取data目录里面保存的图片.涉及了data目录读写.这功能看上去挺简单,不过实际做的时候还是遇 ...

  5. C语言 · 确定元音字母位置

    算法训练 确定元音字母位置   时间限制:1.0s   内存限制:512.0MB      输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0.英语元音字母只有‘a’ ...

  6. Android——用Activity和Service实现简单的音乐播放器

    一.只用Activity 容易出现问题 xml <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  7. 分布式session实现

    1.为什么要做分布式session 前段时间在做hibernate和docker集成时,在web项目落地时遭遇session粘性的困扰,同一个用户的申请落到不同服务端时,会发生session丢失的问题 ...

  8. CDH 问题

    1. 时间同步内网开的时候没开UDP防火墙,导致时间不同步 2. 防火墙开的内网不通

  9. Spring Cloud Sleuth 服务跟踪 将跟踪信息存储到数据库

    参见上一篇博客:Spring Cloud Sleuth 服务跟踪 参考:zipkin使用mysql保存数据 主要在跟踪服务上配置: 在数据库创建数据库表:(可不创建,在classpath中添加对应的s ...

  10. IDEA隐藏.idea文件夹

    打开setting,Editor-->File Types.在Ignore files and folders中添加“.idea;”