rendered paste bodyusing System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Timers;
namespace DuplicateKiller
{
class Program
{
static int count = 0;
static int killed = 0;
static void Main(string[] args)
{
Timer tmr = new Timer();
tmr.Interval = 1000;
tmr.Elapsed += new ElapsedEventHandler(tmr_Elapsed);
tmr.Start();
args = new string[] { @"C:\Documents and Settings\Moose\Desktop\Work Stuff\info\leads.txt" };
if ((args.Length == 0) || !File.Exists(args[0]))
{
Console.WriteLine("You must supply arguments by dragging and dropping a file on to the executable");
Console.WriteLine("Press [ ENTER ] to exit");
Console.ReadLine();
Environment.Exit(0);
}
FileStream inStream = new FileStream(args[0], FileMode.Open, FileAccess.Read, FileShare.Read);
TextReader tr = new StreamReader(inStream);
TextWriter tw;
Console.WriteLine("Working...");
string data = "placeholder";
int ct = 1;
string[] dataArray = null;
while ((data = tr.ReadLine()) != null)
{
dataArray = data.Split('\t');
if (!isDuplicate("out.txt", dataArray, ct))
{
tw = new StreamWriter("out.txt", true);
tw.WriteLine(data);
tw.Flush();
tw.Close();
count++;
}
ct++;
}
tr.Close();
Console.WriteLine("Finished!");
Console.WriteLine("Press [ ENTER ] to exit");
Console.ReadLine();
}
static void tmr_Elapsed(object sender, ElapsedEventArgs e)
{
Console.Clear();
Console.WriteLine("Added: {0}", count);
Console.WriteLine("Killed: {0}", killed);
}
static bool isDuplicate(string file, string[] entry, int line)
{
FileStream stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Read);
TextReader tr = new StreamReader(stream);
string data = "placeholder";
int ct = 1;
string[] dataArray = null;
bool isDuplicate = true;
if (line == 1)
{
tr.Close();
return false;
}
while ((data = tr.ReadLine()) != null)
{
dataArray = data.Split('\t');
if (dataArray.Length == entry.Length && line != ct)
{
if (dataArray[5] != entry[5] && dataArray[7] != entry[7])
{
isDuplicate = false;
}
else
{
killed++;
tr.Close();
return true;
}
}
ct++;
}
tr.Close();
return isDuplicate;
}
}
}