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. webpack学习文档

    webpack课程 目录 第1章 webpack简介... 1 1.1    webpack是什么?... 1 1.2    官网地址... 2 1.3    为什么使用 webpack?... 3 ...

  2. python中 staticmethod与classmethod区别

    staticmethod与classmethod区别 参考 https://stackoverflow.com/questions/136097/what-is-the-difference-betw ...

  3. Lintcode: Minimum Subarray 解题报告

    Minimum Subarray 原题链接: http://lintcode.com/zh-cn/problem/minimum-subarray/# Given an array of intege ...

  4. jetty debug 启动 jettyconfig配置文件

    jetty 代码启动 debug很简单  run----->>>debug as  代码启动配置文件 start 方法 @Test public void serverStrart( ...

  5. QT-提示“database not open”

    问题现象: 要用QT开发"SQLite"时出现如下提示: QSqlQuery::exec: database not open QSqlDatabase: QSQLITE driv ...

  6. JAVA-JSP内置对象之session对象

    相关资料:<21天学通Java Web开发> session对象 1.session对象用来表示用户的会话状况,一般用于保存用户的各种信息.2.直到生命周期超时或者被认为释放掉为止. 方法 ...

  7. SQL SERVER 事务和锁

    内容皆整理自网络 一.事务 作者:郭无心链接:https://www.zhihu.com/question/31346392/answer/59815366来源:知乎著作权归作者所有.商业转载请联系作 ...

  8. 【进阶修炼】——改善C#程序质量(8)

    122,以<Company>.<Component>作为命名空间. 如Microsoft.Windows.Design.也可以用域名作为空间,如www.microsoft.co ...

  9. Android中Intent具体解释(一)

    Intent是一种消息传递机制.它能够在应用程序内使用,也能够在应用程序间使用,主要用途分为: 1.使用类名显示的启动一个特定的Activity或Service 2.启动Activity或Servic ...

  10. 初试 spring web mvc

    作为一名code需要了解更多的知识,编程方面的东西太多了,是个逐渐积累的过程.最近学习一下spring web mvc,写下我个人的一些经验. 1.准备jar包.spring mvc 已经到了版本4, ...