靓号的实现
0x0 说明
靓号,相信大家一定不陌生,手机号,某款通讯软件,都有靓号的身影,
那么,如果有一天,要我们自己来实现靓号,我们要怎么办。
0x1 号码
这里,我以某款通讯软件的号码为例子,范围从10000到9999999999,从第一个5位数,到最后一个10位数。
0x2 生成
本次使用纯文本形式对号码进行存储。
可能有些人会喜欢运行时生成号码,不过这里为了演示方便,会先成范围内的所有的号码到文件。
生成后文件体积也不会很大,110G。
static void Main(string[] args) { FileStream fileStream = new FileStream(@"D:\0-0-0-0.txt", FileMode.OpenOrCreate); int start = 10000; long end = 99999; long number = start; int num = 0; byte[] buf; while (number < end)//如果等于end则跳出while { buf = System.Text.Encoding.ASCII.GetBytes(number.ToString() + "\r\n"); fileStream.Write(buf, 0, buf.Length); number++; num++; if (num == 100000000) { num = 0; fileStream.Flush(); Console.WriteLine(number.ToString()); } } buf = System.Text.Encoding.ASCII.GetBytes(number.ToString()); fileStream.Write(buf, 0, buf.Length); fileStream.Flush(); fileStream.Dispose(); fileStream.Close(); Console.WriteLine("end"); Console.Read(); }
0x3 文件
为了节省时间,这里我分享出生成后的文件,压缩文件内包含7种号码范围。
10000 - 99999
100000 - 999999
1000000 - 9999999
10000000 - 99999999
100000000 - 999999999
1000000000 - 9999999999
10000 - 9999999999
转载请注明出处。