import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;
import java.util.Vector;
public class Numbers implements Runnable {
private static int baseNumber;
private List<Integer> numberList;
private String path = "e:/number.txt";
public Numbers() {
// 构建一个
this.numberList = new Vector<Integer>();
this.CheckFile();
try {
DataInputStream read = new DataInputStream(new FileInputStream(
this.path));
baseNumber = read.readInt();
read.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void CheckFile() {
try {
File file = new File(this.path);
if (!file.exists()) {
file.createNewFile();
DataOutputStream write = new DataOutputStream(
new FileOutputStream(this.path));
write.writeInt(0);
write.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public synchronized void getNumber() {
try {
baseNumber++;
this.numberList.add(baseNumber);
DataOutputStream write = new DataOutputStream(new FileOutputStream(
this.path, false));
write.writeInt(baseNumber);
write.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void ShowNumber() {
for (int i = 0; i < numberList.size(); ++i) {
int num = numberList.get(i).intValue();
System.out.print(num + "\t");
}
System.out.print("\n");
}
public void run() {
for (int i = 0; i < 10; ++i) {
getNumber();
}
this.ShowNumber();
}
public static void main(String[] args) {
Thread t1 = new Thread(new Numbers());
Thread t2 = new Thread(new Numbers());
t1.start();
t2.start();
}
}