首页>代码>JAVA代码中通用sequence实现>/sequence/SeqTestFile.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;

import javax.sound.sampled.LineEvent;

import org.apache.mina.filter.codec.textline.LineDelimiter;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.sunrise.psmis.Constants;

/**
 *
 * <pre>
 *  Copyright (C): 2012
 *
 *  Description:
 *   测试
 *
 *  Revision History:
 *  2012-10-23 		initial version.
 *
 * </pre>

 */
public class SeqTestFile
{
	private static final int aInit = 1;
	private static final int bInit = 1000;
	private static final String fileName="C:\\seqtest.txt";
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{

		SeqTestFile seqTestFile = new SeqTestFile();
		seqTestFile.testSequence();
	}

	/**
	 * 不使用线程
	 */
	public void testSequenceNoThreads(){
		String seqenceName = SequenceEnum.EXP.toString();
		for(int i=0;i<bInit;i++){
			if(i%2==0){
				seqenceName =SequenceEnum.EXP.toString();
			}
			else{
				seqenceName =SequenceEnum.WGROUP.toString();
			}
			long val = SequenceUtil.getInstance().getNextVal(seqenceName);
			System.out.println(val+"");
		}
	}

	/**
	 * 使用线程
	 */
	public void testSequence(){
		InitFile();


		String SeqenceName ;
		Thread thread;
		for(int i=0;i<aInit;i++){
			if(i%2==0){
				SeqenceName =SequenceEnum.EXP.toString();
			}
			else{
				SeqenceName =SequenceEnum.WGROUP.toString();
			}
			thread = new Thread(new SequenceThread(SeqenceName,i));
			try
			{
				thread.join();
			}
			catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		//	SequenceUtil.getInstance().resetSequence(SeqenceName);
			thread.start();
		}
	}

	public static void InitFile(){
		try
		{
			File file=new File(fileName);
			if(!file.exists()){
				file.createNewFile();
			}

			BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
			writer.write("000000000000000");
			writer.newLine();
			writer.flush();
			writer.close();
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}
	public class SequenceThread implements Runnable{
		private String sequenceName;
		private int threadNo;
		public SequenceThread(String sequenceName,int threadNo){
			this.sequenceName = sequenceName;
			this.threadNo = threadNo;
		}
		@Override
		public void run()
		{

			BufferedReader reader = null;
			BufferedWriter writer = null;
			try
			{
				reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
				writer = new BufferedWriter(new FileWriter(fileName, true));
				for(int i=0;i<bInit;i++){
					long val = SequenceUtil.getInstance().getNextVal(sequenceName);
					String line ="";
					Boolean ifFound=false;
					while((line=reader.readLine())!=null){
						if(line.equals(sequenceName+val)){
							System.out.println("找到相同的序列:"+sequenceName+val);
							ifFound = true;
							break;
						}
					}

					writer.write(sequenceName+val);
					writer.newLine();
				}
				writer.flush();
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
			finally{
				try
				{
					if(reader!=null)
						reader.close();
					if(writer!=null)
						writer.close();
				}
				catch (IOException e)
				{
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

			}
		}
	}

}
最近下载更多
cukker  LV1 2022年1月5日
157846397  LV2 2021年4月24日
123456CZR  LV1 2021年2月8日
hptmace  LV3 2020年12月16日
ivandick  LV1 2020年11月25日
25324521  LV1 2020年4月23日
ronghaha  LV1 2020年3月5日
316938847  LV1 2019年7月8日
395339188  LV1 2017年7月28日
asd2131640  LV8 2017年7月12日
最近浏览更多
lironggang  LV38 2023年3月26日
157846397  LV2 2021年4月24日
123456CZR  LV1 2021年2月8日
hptmace  LV3 2020年12月16日
ivandick  LV1 2020年11月25日
gooooda  LV2 2020年5月18日
25324521  LV1 2020年4月23日
ronghaha  LV1 2020年3月5日
shenqiao  LV1 2019年9月5日
316938847  LV1 2019年7月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友