`
jamour
  • 浏览: 24351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[ J2SE ] 排号程序

阅读更多

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();
 }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics