Skip to content

Instantly share code, notes, and snippets.

@cyrillbrito
Last active March 12, 2019 20:40
Show Gist options
  • Save cyrillbrito/e56024a2b3e4505c974a48f00631fdcb to your computer and use it in GitHub Desktop.
Save cyrillbrito/e56024a2b3e4505c974a48f00631fdcb to your computer and use it in GitHub Desktop.
Email generator and special character remover.

Email Generator

This program is base in 3 files.

  1. list of first names
  2. list of last names
  3. list of nicknames

With this 3 files the generator will generate a specified number of emails and save them in a diferent file. Before using the generator you should use the FixNames.java on the lists. This will try to remove all the special carrecters that are not allowed in a email.

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class EmailGenerator {
ArrayList<String> nomes;
ArrayList<String> apelidos;
ArrayList<String> nicknames;
Random random;
public EmailGenerator(ArrayList<String> nomes, ArrayList<String> apelidos, ArrayList<String> nicknames) {
this.nomes = nomes;
this.apelidos = apelidos;
this.nicknames = nicknames;
random = new Random();
}
public String generate() {
if (random.nextInt(4) == 0)
return generateNickname();
else
return generateName();
}
private String generateName() {
// Adicionar o nome
int n = random.nextInt(nomes.size());
String result = nomes.get(n);
// Adicionar o numero e acabar
if (random.nextInt(5) == 0)
return result + generateNumber() + generateEmail();
// Adicionar coisas entre o nome e o apelido
n = random.nextInt(12);
if (n > 10)
result += generateNumber();
else if (n > 8)
result += '-';
else if (n > 4)
result += '_';
// Adicionar o apelido
n = random.nextInt(apelidos.size());
result += apelidos.get(n);
// Adicionar numero no fim
if (random.nextInt(3) > 0)
result += generateNumber();
return result + generateEmail();
}
private String generateNickname() {
int n = random.nextInt(nicknames.size());
String result = nicknames.get(n);
if (random.nextInt(3) == 0)
result += generateNumber();
return result + generateEmail();
}
private String generateNumber() {
return Integer.toString(random.nextInt(100));
}
private String generateEmail() {
int n = random.nextInt(5);
if (n == 0)
return "@live.com.pt";
else if (n == 1)
return "@hotmail.com";
else
return "@gmail.com";
}
// ----- STATIC ZONE -----
public static ArrayList<String> readFile(String fileName) throws FileNotFoundException {
File file = new File(fileName);
Scanner input = new Scanner(file);
ArrayList<String> result = new ArrayList<>();
while (input.hasNextLine())
result.add(input.nextLine());
input.close();
return result;
}
public static void main(String args[]) throws FileNotFoundException {
ArrayList<String> nomes = readFile("//home//cyrillbrito//Dropbox//Projects//VotingBot//lista_nomes");
ArrayList<String> apelidos = readFile("//home//cyrillbrito//Dropbox//Projects//VotingBot//lista_apelidos");
ArrayList<String> nicknames = readFile("//home//cyrillbrito//Dropbox//Projects//VotingBot//lista_nicknames");
EmailGenerator gen = new EmailGenerator(nomes, apelidos, nicknames);
ArrayList<String> emails = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
String email = gen.generate();
if (!emails.contains(email))
emails.add(email);
}
for (String email : emails)
System.out.println(email);
}
}
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class FixNames {
public static String fixWord(String line) {
// String[] aos = line.split(".");
// String result = aos[0];
// if (aos.length > 3)
// result += "_" + aos[3];
String result = line;
result = result.replaceAll("á", "a");
result = result.replaceAll("à", "a");
result = result.replaceAll("ã", "a");
result = result.replaceAll("â", "a");
result = result.replaceAll("é", "e");
result = result.replaceAll("ê", "e");
result = result.replaceAll("í", "i");
result = result.replaceAll("ô", "o");
result = result.replaceAll("ó", "o");
result = result.replaceAll("õ", "o");
result = result.replaceAll("ú", "u");
result = result.replaceAll("ç", "c");
return result.toLowerCase();
}
public static void main(String args[]) throws FileNotFoundException {
String fileName = "//home//cyrillbrito//Dropbox//Projects//VotingBot//lista_nomes";
File file = new File(fileName);
Scanner input = new Scanner(file);
ArrayList<String> names = new ArrayList<>();
while (input.hasNextLine()) {
String line = input.nextLine();
String name = fixWord(line);
if (!names.contains(name))
names.add(name);
}
input.close();
Collections.sort(names);
for (String name : names)
System.out.println(name);
}
}
adriana
alex
alexandra
alice
alicia
aline
amanda
ana
andre
andreia
antonia
antonieta
antonio
arthur
asdrubal
barbara
beatriz
benicio
benjamim
bernado
bianca
brenda
breno
bruna
bruno
camila
carolina
cassiane
celina
celine
clara
clarice
cristina
daniela
david
davide
debora
diego
duarte
eduarda
eduardo
eliana
elisa
emanuel
emanuela
emanuelle
enzo
eric
erica
fabio
fabricio
fausto
fernanda
fernando
filipa
filipe
gabriel
gabriela
giovana
goncalo
guilherme
gustavo
helena
heloisa
henri
henrique
hugo
humberto
ian
ingrid
isabela
isabella
isadora
ises
jaime
jamile
joao
joaquim
jose
julia
julio
junior
laeticia
lara
larissa
laura
leo
leonardo
leticia
lis
lorena
luana
lucas
luis
luisa
manuel
manuela
marcia
maria
mariana
marina
mario
matheus
michele
miguel
milena
natalia
nicolas
nicole
octavio
patricia
patricio
paula
paulina
paulo
pedro
pietra
pietro
rafael
raquel
ricardo
rodrigo
rui
sabrina
samuel
sofia
sophia
tiago
valentina
victor
victoria
vinicius
vitor
vitoria
william
xana
yasmim
yasmin
muniz
schumacher
mazzaropi
monteiro
muller
marques
moraes
duarte
vasconcelos
montenegro
fagundes
trindade
vargas
ferraz
carvalho
dolabella
evelyn
reymond
lins
andrade
boaventura
barcellos
dantas
oliveira
carvalho
vilela
santana
ribeiro
barros
moscovis
goncalves
johnson
castro
assuncao
kannenberg
torres
gomes
alves
steves
garcia
moura
albuquerque
antunes
barcelos
roriz
ferrari
castiel
fischer
novaes
gimenez
schoemberger
falabella
martins
drummond
figueiredo
resende
sampaio
fernandes
cavalcante
arantes
lombardi
dieckmann
goes
menezes
ganzarolli
guimaraes
liberato
alencar
marinho
lambertini
lafaiete
sanches
timberg
bernardi
werneck
annenberg
campos
medeiros
lessa
hickmann
ontenelle
bittencourt
noronha
abravanel
sheherazade
bastos
meneghel
bonner
riche
chapelin
rios
giacomo
ávila
close
bial
maldonado
bongiovanni
vitti
silverstone
brito
rosa
frank
franck
campina
mestre
camilo
queiros
smith
smiths
teixeira
abrantes
adoes
afunda_margaca
ah_mnel
alcerva
aleixo
alemao
alhalhulha
aljabra
alminha
alvaro_pampo
amavel_doido
ameixa
ameixas
amendoeira
amigalhaco
anagua
anao
arre_macho
arrebeta-a-bota
arrebola-caixotes
arreganha-a-manta
arre-macho
arrenega
asa_negra
azeiteiro
bacaro
bafo-de-bode
bagaceiras
bagaco
bago_de
bailarico
balas
baldorega
balhe
balhelha
banana
barbacana
barbas_de
barbodes
barby
barraca
barras_de
basanhas
bate_latas
bazaula
bebe_cigano
beicas
beicos
bejeca
bessa
bezuntado
bico_amarelo
bigodes
bispo
bita-sem-orelha
boca_de
boca_santa
boco
bola
boneca
borboleta
borlota
borrego_bezerro
bruxo
cabano
cabeca_canina
cabeca-de-lata
cabeca-de-urso
cabecana
cabecorras
cabelo_encarnado
cacete
cachola
cachopo-doido
caga-a-andar
caga-a-malta
caga-a-ova
cagado
cagado_das
caga-e-tosse
caga-no-ninho
cagarola
cajo
caladense
calhambeque
calharau
cambodja
camiao
camoes
candongueiro
canoso
cao_bonito
cao_bravo
cao_feio
capadoura
cara_de
cara_queimada
cara-a-banda
caraga
caralho_sem_pescoco
caralhudo
carica
carioca
carlos_te
carocha
carolo
carrica
cascais
catotas
catrapuz
cazuza
cegonha
cegonha
cestrino_da
chama-o-vento
chapanco
chapeleiro
cheira_a
cheira-a-vento
cheira-mal
chibaco
chico_bairarico
chico_das
chico_das
chico_do
chico-da-praca-velha
chico-das_mangueiras
china
chines
chinesa
cho
choronas
cidalia_dos
cigano
cleoptra
corre-a-gente
corta_cabelo
coruja
coruja
covinhas
coxo
cuca
cuca
cueca_cagada
culano
das_fezes
dennis_gasolinas
dentinhos
descansa-o-bico
dez-por-cento
diogo_grande
dona_amelia
electrao
engenhero_marconi
enxovalhado
esgatafunho
espanhol
espanhola
esturrada
esturrado
falsete
falta_dar
faquete
farda
farinheira_a
fataca
faz-me_rir
feijoca
fernanda_gorda
ferrador
fininho
foge_ao
fome_negra
fora_figo
formiga_cega
fraldeira
frances
franheira
fred
fredy
fugra
fura_barracas
galo
ganda
ganhita
ganhito
gata-pranha
gaz_cidla
genito
gigi_pantufa
ginja
girafa
glorinho
gorita
gota
graca_colhera
guarda_pamanhen
historia
hitler
homem_de
horta
hoss
ideia_torta
jacareu
jaime_camiao
jaleco
jaquim_gordo
jaquim_panela
jaquim-das-capelas
jaquim-electricista
jaquim-manel-sabino
joao_amendoim
joao_das
joao-da-pouca-sorte
joao-sem-cirolhas
joaquina_farinheira
jorge_gordeca
juba
julho_preto
junior
kapa
kikas_(ou
labora
lagarto
lapaia
larga-a-tabua
latcho
leitoes
lica
linarda
lino_bandeira
lisboa
loira
luis_cao
luis_da
luis_da
luis_dos
luis_fininho
macaco
macarico
macaroco
madeirense
malandro
malhado
malia
malicia
manel_balharico
manel_bate-a-nina
manel_da
manel_do
manel_gaibeu
manel_passajado
manel_piu
manelito
manel-mata-cobras
maneta
manteigas
mao-de-vaca
maozinhas
ma-rato
margareta_moca
mari_luisa
maria_da
mario_d'ambulancia
marreco
marreta
ma-rui
mata-burros
mato-tenente
meca-zarolho
mecha
melancia
melao
melro
menaia
merdelia
metro-e-cem
miel
migarola
minita
mirolho
miserias
miss_porcalhota
mitcho_ferrao
mitxo
mix
mix_canino
moca
mocas
moi
moleza
molhos_d'erva
morango
morcela
muito-me-custa
mulher
mulher_das
nha
nhec
nheta
nhuca
olho_ingrato
otilia_jnela
pai_do
palmolive
pancada
panela
pangaia
paninho
pao_de
papa_tabaco
paposseco
pardal
parente
passaro_fino
patareca
pato-mocho
pau_caiado
pe_de
pe_descalco
peido_amarelo
peixe
peixe_frito
pera_bebeda
pera-abra
perna_fina
perna-larga
pernica
perninhas
pescador
peugeot
pica-choricas
picador
picha-de-lata
picla
picolin
pietra
pilas
pilo
pinga_azeite
pinga_azeite
pipa
pires_peres
pirinhas
pirinhas
pirolinhas
pirucas
pirulau
piscalho_doido
pisco
piteira
pitico
pitorra
pitosga
pitrix
pitrixa
pitrolino
pochim
portista
presunto
preto
pronto-a-vestir
puto
queimadela
quixo
rabeca
ras-po-pe
rata
ratas
raticha
rato
ratoeira
raul_pancona
real_fita
rebita
rechemenga
relojoeiro
renatao
resmunga
resmunga
rezino
ribas
rodinhas
rolha
romantico
rosa
rosca
russo
saboga
sa-cabelo
sacode-o-saco
saipa_galhana
sakir
salacie
salazar_canino
samirra
sapata
sapateirito
sapo
sardinha
sartela
saruga
saul_feio
seca-adegas
sem-pescoco
sergio-cantor
sete_bocas
siga_o
sleid
sleidy
sobe-e-desce
sopa
stain
stick
sujo
susana
tanoeiro
te_gandares
teta
texugueira
ticao_do
tinito-a-ladrao
tirico_felismino
tita
titina
tito
to_gateira
toita
tolin
tonho_alopa
tonho_da
tonho-ze_frances
topo_gigio
totinha
toto
trava
travesti
tres_beicos
tretas
trinas
trinta
trinta-voltas
tumba
valcavaleiro
vale_por
valtinho_gaucho
vava
vavolina
vera_porca
vicencia
vinetas
vira_milho
vira-te_escova
vitrexo_algarvio
vox
voz_de
xana
xelir
xerife
xico_macarico
xo
ya
yoga
zagaia
zaias
zapa
zaragata
zarolho
ze_bafo
ze_barato
ze_borboleta
ze_braza
ze_careca
ze_cigano
ze_conana
ze_da
ze_da
ze_das
ze_do
ze_gato
ze_lindinho
ze_mijado
ze_mjado
ze_palpite
ze_preto
zeca_dj
zeca_fotografa
zeca_presidente
zeca_rp
zeca_tesoureira
ze-ca-fica
ze-da-cuca
zezoca
zup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment