parent
e889b75605
commit
e7a2d1f343
@ -0,0 +1,373 @@ |
||||
package me.lensferno.dogename.data; |
||||
|
||||
import com.google.gson.Gson; |
||||
import org.apache.logging.log4j.LogManager; |
||||
import org.apache.logging.log4j.Logger; |
||||
|
||||
import java.io.*; |
||||
import java.nio.charset.StandardCharsets; |
||||
import java.security.SecureRandom; |
||||
import java.util.*; |
||||
|
||||
public class Data { |
||||
|
||||
Logger log = LogManager.getLogger("dataLogger"); |
||||
|
||||
public static final int IGNORELIST_NAME_ONLY = 0; |
||||
public static final int IGNORELIST_NUMBER_ONLY = 1; |
||||
public static final int IGNORELIST_ALL = 2; |
||||
|
||||
|
||||
private List<String> nameList; |
||||
private IgnoreList ignoreList = new IgnoreList(); |
||||
|
||||
File dataFile; |
||||
|
||||
SecureRandom secRandom = new SecureRandom(); |
||||
|
||||
public List<String> getNameList() { |
||||
return nameList; |
||||
} |
||||
|
||||
public void exportNameList(File path) { |
||||
if (path != null) { |
||||
try { |
||||
FileOutputStream oos = new FileOutputStream(path); |
||||
oos.write(new Gson().toJson(nameList).getBytes(StandardCharsets.UTF_8)); |
||||
oos.close(); |
||||
log.info("Exported list to:" + path.getPath()); |
||||
} catch (Exception e) { |
||||
log.warn("error in export namelist: " + e.toString()); |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public void importNameList(File path) { |
||||
if (path != null) { |
||||
|
||||
try { |
||||
FileInputStream fis = new FileInputStream(path); |
||||
String temp; |
||||
BufferedReader bis = new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8)); |
||||
StringBuilder sb = new StringBuilder(); |
||||
|
||||
while ((temp = bis.readLine()) != null) { |
||||
sb.append(temp); |
||||
sb.append("\n"); |
||||
} |
||||
|
||||
nameList = new Gson().fromJson(sb.toString(), List.class); |
||||
log.info("Imported list from:" + path.getPath()); |
||||
} catch (Exception e) { |
||||
log.warn("error in import namelist:" + e.toString()); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
||||
|
||||
public void makeMass() { |
||||
|
||||
HashSet<Integer> alreadyList = new HashSet<>(); |
||||
List<String> tempList = new LinkedList<>(); |
||||
int i; |
||||
Random random = new Random(); |
||||
while (tempList.size() < nameList.size()) { |
||||
i = random.nextInt(nameList.size()); |
||||
while (alreadyList.contains(i)) |
||||
i = random.nextInt(nameList.size()); |
||||
tempList.add(nameList.get(i)); |
||||
alreadyList.add(i); |
||||
} |
||||
nameList.clear(); |
||||
nameList.addAll(tempList); |
||||
|
||||
} |
||||
|
||||
public Data() { |
||||
|
||||
|
||||
if (System.getProperty("os.name").toLowerCase().contains("window")) |
||||
dataFile = new File("files\\Namelist.data"); |
||||
else |
||||
dataFile = new File("files/Namelist.data"); |
||||
|
||||
File oldDataFile = new File("D:\\dogename\\files\\data"); |
||||
|
||||
try { |
||||
|
||||
if (oldDataFile.exists()) { |
||||
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(oldDataFile)); |
||||
this.nameList = (ArrayList) ois.readObject(); |
||||
|
||||
ois.close(); |
||||
oldDataFile.delete(); |
||||
saveToFile(); |
||||
return; |
||||
} |
||||
|
||||
if (!dataFile.exists()) { |
||||
dataFile.getParentFile().mkdirs(); |
||||
dataFile.createNewFile(); |
||||
nameList = new ArrayList<>(); |
||||
saveToFile(); |
||||
return; |
||||
} |
||||
|
||||
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(dataFile)); |
||||
this.nameList = (ArrayList) ois.readObject(); |
||||
|
||||
log.info(nameList.size() + " names loaded."); |
||||
|
||||
} catch (EOFException EOFe) { |
||||
nameList = new ArrayList<>(); |
||||
log.warn("Data file is empty."); |
||||
saveToFile(); |
||||
} catch (Exception e) { |
||||
nameList = new ArrayList<>(); |
||||
saveToFile(); |
||||
log.warn("Failed to load data file."); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
ignoreList.readIgnoreList(); |
||||
} |
||||
|
||||
|
||||
public void add(String text) { |
||||
String[] splitedText; |
||||
|
||||
if (text.contains("\n") && text.contains("\r")) { |
||||
// for windows
|
||||
splitedText = text.split("\r\n"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
} else if (text.contains("\n")) { |
||||
// for linux
|
||||
splitedText = text.split("\n"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
} else if (text.contains("\r")) { |
||||
// for macos
|
||||
splitedText = text.split("\r"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
} else { |
||||
nameList.add(text); |
||||
} |
||||
|
||||
System.gc(); |
||||
} |
||||
|
||||
|
||||
public boolean compareNameIgnoreList() { |
||||
return ignoreList.getNameIgnoreListSize() >= nameList.size(); |
||||
} |
||||
|
||||
public void delete(String name) { |
||||
if (nameList.isEmpty()) |
||||
return; |
||||
|
||||
nameList.remove(name); |
||||
ignoreList.removeName(name); |
||||
|
||||
System.gc(); |
||||
} |
||||
|
||||
public boolean isEmpty() { |
||||
return nameList.isEmpty(); |
||||
} |
||||
|
||||
Random random = new Random(); |
||||
|
||||
public String randomGet(boolean secureRandom) { |
||||
if (secureRandom) |
||||
return nameList.get(secRandom.nextInt(nameList.size())); |
||||
else |
||||
return nameList.get(random.nextInt(nameList.size())); |
||||
} |
||||
|
||||
public void saveToFile() { |
||||
|
||||
try { |
||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(dataFile)); |
||||
oos.writeObject(nameList); |
||||
oos.close(); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
public void deleteAllName() { |
||||
nameList.clear(); |
||||
ignoreList.clearNameIgnoreList(); |
||||
} |
||||
|
||||
public boolean checkNameIgnored(String name) { |
||||
return ignoreList.checkNameExists(name); |
||||
} |
||||
|
||||
public boolean checkNumberIgnored(String number) { |
||||
return ignoreList.checkNumberExists(number); |
||||
} |
||||
|
||||
public void addNameToIgnoreList(String name) { |
||||
ignoreList.addName(name); |
||||
} |
||||
|
||||
public void addNumberToIgnoreList(String number) { |
||||
ignoreList.addNumber(number); |
||||
} |
||||
|
||||
public void writeIgnoreList(int switchy) { |
||||
ignoreList.writeIgnoreList(switchy); |
||||
} |
||||
|
||||
public void clearNameIgnoreList() { |
||||
ignoreList.clearNameIgnoreList(); |
||||
} |
||||
|
||||
public void clearNumberIgnoreList() { |
||||
ignoreList.clearNumberIgnoreList(); |
||||
} |
||||
|
||||
public int getNumberIgnoreListSize() { |
||||
return ignoreList.getNumberIgnoreListSize(); |
||||
} |
||||
|
||||
class IgnoreList { |
||||
|
||||
private HashSet<String> ignoreNameList = new HashSet<>(); |
||||
|
||||
private HashSet<String> ignoreNumberList = new HashSet<>(); |
||||
|
||||
private final File nameIgnoreFile = new File("files" + File.separator + "IgnoredNameList.data"); |
||||
private final File numbIgnoreFile = new File("files" + File.separator + "IgnoredNumberList.data"); |
||||
|
||||
public void writeIgnoreList(int switchy) { |
||||
switch (switchy) { |
||||
case IGNORELIST_NAME_ONLY: |
||||
writeNameIgnoreList(); |
||||
case IGNORELIST_NUMBER_ONLY: |
||||
writeNumberIgnoreList(); |
||||
default: |
||||
writeNumberIgnoreList(); |
||||
writeNameIgnoreList(); |
||||
} |
||||
} |
||||
|
||||
private void writeNameIgnoreList() { |
||||
try { |
||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(nameIgnoreFile)); |
||||
oos.writeObject(ignoreNameList); |
||||
oos.close(); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
private void writeNumberIgnoreList() { |
||||
try { |
||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(numbIgnoreFile)); |
||||
oos.writeObject(ignoreNumberList); |
||||
oos.close(); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
public void readIgnoreList() { |
||||
readNameIgnoreList(); |
||||
readNumberIgnoreList(); |
||||
log.info("There are " + ignoreNameList.size() + " names and " + ignoreNumberList.size() + " numbers ignored."); |
||||
} |
||||
|
||||
private void readNameIgnoreList() { |
||||
try { |
||||
if (!nameIgnoreFile.exists()) { |
||||
nameIgnoreFile.getParentFile().mkdirs(); |
||||
nameIgnoreFile.createNewFile(); |
||||
ignoreNameList = new HashSet<>(); |
||||
writeIgnoreList(IGNORELIST_NAME_ONLY); |
||||
return; |
||||
} |
||||
|
||||
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(nameIgnoreFile)); |
||||
this.ignoreNameList = (HashSet) ois.readObject(); |
||||
|
||||
} catch (EOFException e) { |
||||
ignoreNameList = new HashSet<>(); |
||||
writeIgnoreList(IGNORELIST_NAME_ONLY); |
||||
} catch (Exception e) { |
||||
ignoreNameList = new HashSet<>(); |
||||
writeIgnoreList(IGNORELIST_NAME_ONLY); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
private void readNumberIgnoreList() { |
||||
try { |
||||
if (!numbIgnoreFile.exists()) { |
||||
numbIgnoreFile.getParentFile().mkdirs(); |
||||
numbIgnoreFile.createNewFile(); |
||||
ignoreNumberList = new HashSet<>(); |
||||
writeIgnoreList(IGNORELIST_NUMBER_ONLY); |
||||
return; |
||||
} |
||||
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(numbIgnoreFile)); |
||||
this.ignoreNumberList = (HashSet) ois.readObject(); |
||||
} catch (EOFException e) { |
||||
ignoreNumberList = new HashSet<>(); |
||||
log.warn("Ignored number list is empty."); |
||||
writeIgnoreList(IGNORELIST_NUMBER_ONLY); |
||||
} catch (Exception e) { |
||||
ignoreNumberList = new HashSet<>(); |
||||
log.warn("Failed to load ignored number list"); |
||||
writeIgnoreList(IGNORELIST_NUMBER_ONLY); |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
|
||||
protected void clearNameIgnoreList() { |
||||
ignoreNameList.clear(); |
||||
writeIgnoreList(IGNORELIST_NAME_ONLY); |
||||
} |
||||
|
||||
protected void clearNumberIgnoreList() { |
||||
ignoreNumberList.clear(); |
||||
writeIgnoreList(IGNORELIST_NUMBER_ONLY); |
||||
} |
||||
|
||||
protected int getNameIgnoreListSize() { |
||||
return ignoreNameList.size(); |
||||
} |
||||
|
||||
public int getNumberIgnoreListSize() { |
||||
return ignoreNumberList.size(); |
||||
} |
||||
|
||||
protected void removeName(String name) { |
||||
ignoreNameList.remove(name); |
||||
} |
||||
|
||||
protected void addName(String name) { |
||||
ignoreNameList.add(name); |
||||
} |
||||
|
||||
protected void addNumber(String number) { |
||||
ignoreNumberList.add(number); |
||||
} |
||||
|
||||
protected boolean checkNameExists(String name) { |
||||
return ignoreNameList.contains(name); |
||||
} |
||||
|
||||
protected boolean checkNumberExists(String number) { |
||||
return ignoreNumberList.contains(number); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
@ -1,361 +0,0 @@ |
||||
package me.lensferno.dogename.data; |
||||
|
||||
import com.google.gson.Gson; |
||||
import org.apache.logging.log4j.LogManager; |
||||
import org.apache.logging.log4j.Logger; |
||||
|
||||
import java.io.*; |
||||
import java.nio.charset.StandardCharsets; |
||||
import java.security.SecureRandom; |
||||
import java.util.*; |
||||
|
||||
public class NameData { |
||||
|
||||
Logger log = LogManager.getLogger("NameDataLogger"); |
||||
|
||||
private List<String> nameList; |
||||
|
||||
private List<String> chooseList; |
||||
private int listSize = 0; |
||||
|
||||
public static final int NAME_ONLY = 0; |
||||
public static final int NUMBER_ONLY = 1; |
||||
|
||||
|
||||
HashSet<String> ignoreNameList=new HashSet<>(); |
||||
|
||||
HashSet<String> ignoreNumberList=new HashSet<>(); |
||||
|
||||
File dataFile ;//=new File("namelist.data");
|
||||
|
||||
boolean newAlgo=true; |
||||
SecureRandom secRandom =new SecureRandom(); |
||||
|
||||
//不做注释了,自己慢慢看。:)
|
||||
|
||||
File nameIgnoreFile =new File("files"+File.separator+"IgnoredNameList.data"); |
||||
File numbIgnoreFile =new File("files"+File.separator+"IgnoredNumberList.data"); |
||||
|
||||
public void writeIgnoreList(int switchy){ |
||||
switch (switchy) { |
||||
case NAME_ONLY: |
||||
writeNameIgnoreList(); |
||||
case NUMBER_ONLY: |
||||
writeNumberIgnoreList(); |
||||
default: |
||||
writeNumberIgnoreList(); |
||||
writeNameIgnoreList(); |
||||
} |
||||
} |
||||
|
||||
private void writeNameIgnoreList() { |
||||
try { |
||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(nameIgnoreFile)); |
||||
oos.writeObject(ignoreNameList); |
||||
oos.close(); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
private void writeNumberIgnoreList() { |
||||
try { |
||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(numbIgnoreFile)); |
||||
oos.writeObject(ignoreNumberList); |
||||
oos.close(); |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
public void readIgnoreList(){ |
||||
|
||||
try{ |
||||
|
||||
if(!nameIgnoreFile.exists()){ |
||||
nameIgnoreFile.getParentFile().mkdirs(); |
||||
nameIgnoreFile.createNewFile(); |
||||
ignoreNameList= new HashSet<>(); |
||||
writeIgnoreList(NAME_ONLY); |
||||
return; |
||||
} |
||||
|
||||
ObjectInputStream ois =new ObjectInputStream(new FileInputStream(nameIgnoreFile)); |
||||
this.ignoreNameList=(HashSet)ois.readObject(); |
||||
|
||||
}catch (EOFException e){ |
||||
ignoreNameList=new HashSet<>(); |
||||
log.warn("Past name list is empty."); |
||||
writeIgnoreList(NAME_ONLY); |
||||
}catch (Exception e){ |
||||
ignoreNameList=new HashSet<>(); |
||||
writeIgnoreList(NAME_ONLY); |
||||
log.warn("Failed to load past name list:"+e.toString()); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
try{ |
||||
|
||||
if(!numbIgnoreFile.exists()){ |
||||
numbIgnoreFile.getParentFile().mkdirs(); |
||||
numbIgnoreFile.createNewFile(); |
||||
ignoreNumberList= new HashSet<>(); |
||||
writeIgnoreList(NUMBER_ONLY); |
||||
return; |
||||
} |
||||
|
||||
ObjectInputStream ois =new ObjectInputStream(new FileInputStream(numbIgnoreFile)); |
||||
this.ignoreNumberList=(HashSet)ois.readObject(); |
||||
|
||||
}catch (EOFException e){ |
||||
ignoreNumberList=new HashSet<>(); |
||||
log.warn("Ignored number list is empty."); |
||||
writeIgnoreList(NUMBER_ONLY); |
||||
}catch (Exception e){ |
||||
ignoreNumberList=new HashSet<>(); |
||||
log.warn("Failed to load ignored number list"); |
||||
writeIgnoreList(NUMBER_ONLY); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
log.info("There are "+ignoreNameList.size()+" names and "+ignoreNumberList.size()+" numbers ignored."); |
||||
} |
||||
|
||||
|
||||
public void clearNameIgnoreList(){ |
||||
ignoreNameList.clear(); |
||||
writeIgnoreList(NAME_ONLY); |
||||
} |
||||
|
||||
public void clearNumberIgnoreList(){ |
||||
ignoreNumberList.clear(); |
||||
writeIgnoreList(NUMBER_ONLY); |
||||
} |
||||
|
||||
|
||||
public HashSet<String> getIgnoreNameList() { |
||||
return ignoreNameList; |
||||
} |
||||
|
||||
public void setIgnoreNameList(HashSet<String> ignoreNameList) { |
||||
this.ignoreNameList = ignoreNameList; |
||||
} |
||||
|
||||
public HashSet<String> getIgnoreNumberList() { |
||||
return ignoreNumberList; |
||||
} |
||||
|
||||
public void setIgnoreNumberList(HashSet<String> ignoreNumberList) { |
||||
this.ignoreNumberList = ignoreNumberList; |
||||
} |
||||
|
||||
|
||||
public List<String> getNameList() { |
||||
return nameList; |
||||
} |
||||
|
||||
public void exportNameList(File path) { |
||||
if(path!=null) { |
||||
try{ |
||||
FileOutputStream oos =new FileOutputStream(path); |
||||
oos.write(new Gson().toJson(nameList).getBytes(StandardCharsets.UTF_8)); |
||||
oos.close(); |
||||
log.info("Exported list to:"+path.getPath()); |
||||
}catch (Exception e){log.warn("error in export namelist: "+e.toString());e.printStackTrace();} |
||||
|
||||
} |
||||
} |
||||
|
||||
public void importNameList(File path) { |
||||
if(path!=null) { |
||||
|
||||
try{ |
||||
FileInputStream fis =new FileInputStream(path); |
||||
String temp; |
||||
BufferedReader bis=new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8)); |
||||
StringBuilder sb=new StringBuilder(); |
||||
|
||||
while ((temp = bis.readLine()) != null) { |
||||
sb.append(temp); |
||||
sb.append("\n"); |
||||
} |
||||
|
||||
nameList=new Gson().fromJson(sb.toString(),List.class); |
||||
log.info("Imported list from:"+path.getPath()); |
||||
}catch (Exception e){log.warn("error in import namelist:"+e.toString());e.printStackTrace();} |
||||
|
||||
} |
||||
|
||||
} |
||||
|
||||
public void makeMass() { |
||||
|
||||
HashSet<Integer> alreadyList = new HashSet<>(); |
||||
List<String> tempList = new LinkedList<>(); |
||||
int i; |
||||
Random random = new Random(); |
||||
while (tempList.size() < nameList.size()) { |
||||
i = random.nextInt(nameList.size()); |
||||
while (alreadyList.contains(i)) |
||||
i = random.nextInt(nameList.size()); |
||||
tempList.add(nameList.get(i)); |
||||
alreadyList.add(i); |
||||
} |
||||
nameList.clear(); |
||||
nameList.addAll(tempList); |
||||
|
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public void setNewAlgo(boolean newAlgo) { |
||||
this.newAlgo=newAlgo; |
||||
if(newAlgo) |
||||
System.out.println("[INFO]Use SecureRandom"); |
||||
else |
||||
System.out.println("[INFO]Not use SecureRandom"); |
||||
} |
||||
//------------------------------------------------------
|
||||
|
||||
public NameData(){ |
||||
|
||||
if(System.getProperty("os.name").toLowerCase().contains("window")) |
||||
dataFile=new File("files\\Namelist.data"); |
||||
else |
||||
dataFile=new File("files/Namelist.data"); |
||||
|
||||
File oldDataFile=new File("D:\\dogename\\files\\data"); |
||||
|
||||
try{ |
||||
|
||||
if(oldDataFile.exists()) { |
||||
ObjectInputStream ois =new ObjectInputStream(new FileInputStream(oldDataFile)); |
||||
this.nameList=(ArrayList)ois.readObject(); |
||||
|
||||
listSize=nameList.size(); |
||||
this.chooseList=new ArrayList<>(nameList); |
||||
ois.close(); |
||||
oldDataFile.delete(); |
||||
saveToFile(); |
||||
return; |
||||
} |
||||
|
||||
if(!dataFile.exists()){ |
||||
dataFile.getParentFile().mkdirs(); |
||||
dataFile.createNewFile(); |
||||
nameList= new ArrayList<>(); |
||||
saveToFile(); |
||||
return; |
||||
} |
||||
|
||||
ObjectInputStream ois =new ObjectInputStream(new FileInputStream(dataFile)); |
||||
this.nameList=(ArrayList)ois.readObject(); |
||||
|
||||
log.info(nameList.size()+" names loaded."); |
||||
|
||||
listSize=nameList.size(); |
||||
this.chooseList=new ArrayList<>(nameList); |
||||
|
||||
}catch (EOFException EOFe){ |
||||
nameList=new ArrayList<>(); |
||||
chooseList=new ArrayList<>(); |
||||
log.warn("Data file is empty."); |
||||
saveToFile(); |
||||
}catch (Exception e){ |
||||
nameList=new ArrayList<>(); |
||||
chooseList=new ArrayList<>(); |
||||
saveToFile(); |
||||
log.warn("Failed to load data file."); |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public void add(String text){ |
||||
String[] splitedText; |
||||
|
||||
if(text.contains("\n")&&text.contains("\r")){//-----------windows
|
||||
splitedText=text.split("\r\n"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
}else if(text.contains("\n")){//--------------------------linux,unix
|
||||
splitedText=text.split("\n"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
}else if(text.contains("\r")){//--------------------------macos
|
||||
splitedText=text.split("\r"); |
||||
nameList.addAll(Arrays.asList(splitedText)); |
||||
}else { |
||||
nameList.add(text); |
||||
listSize=nameList.size(); |
||||
} |
||||
chooseList=new ArrayList<>(nameList); |
||||
System.gc(); |
||||
} |
||||
//------------------------------------------------------
|
||||
public String get(int i){ |
||||
if(i<listSize-1) |
||||
return null; |
||||
else |
||||
return nameList.get(i); |
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public int getSize(){ |
||||
return nameList.size(); |
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public void delete(String name){ |
||||
if(nameList.isEmpty()) |
||||
return; |
||||
|
||||
nameList.remove(name); |
||||
ignoreNameList.remove(name); |
||||
|
||||
chooseList=new ArrayList<>(nameList); |
||||
listSize=nameList.size(); |
||||
System.gc(); |
||||
|
||||
|
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public boolean isEmpty(){ |
||||
return nameList.isEmpty(); |
||||
} |
||||
|
||||
Random random =new Random(); |
||||
|
||||
//------------------------------------------------------
|
||||
public String randomGet(boolean secureRandom){ |
||||
if(secureRandom) |
||||
return nameList.get(secRandom.nextInt(nameList.size())); |
||||
else |
||||
return nameList.get(random.nextInt(nameList.size())); |
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public String[] getAll(){ |
||||
return nameList.toArray(new String[0]); |
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public void saveToFile(){ |
||||
|
||||
try{ |
||||
ObjectOutputStream oos =new ObjectOutputStream(new FileOutputStream(dataFile)); |
||||
oos.writeObject(nameList); |
||||
oos.close(); |
||||
}catch (Exception e){ |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
public void deleteAll(){ |
||||
nameList.clear(); |
||||
chooseList.clear(); |
||||
} |
||||
|
||||
//------------------------------------------------------
|
||||
} |
Loading…
Reference in new issue