`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
holdpuke_5 holdpuke_5
包:com.youth.game.io
1. OperationFile.java
package com.youth.game.io;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.youth.game.base.Card;
import com.youth.game.base.Constant;
import com.youth.game.base.FiveCards;
import com.youth.game.domain.Bout;
import com.youth.game.domain.BoutDetails;
import com.youth.game.domain.User;
import com.youth.game.exception.CardFormatException;
import com.youth.game.util.CardUtils;

public class OperationFile {

	public List<Bout> readFile(String path){
		File file = new File(Constant.rootPath+path);
		System.out.println(file.getPath());
		BufferedReader reader  = null;
		List<Bout> bouts =new ArrayList<Bout>();
		try {
			 reader = new BufferedReader(new FileReader(file));
			String line = null;
			Bout bout = null;
			List<BoutDetails> details =new ArrayList<BoutDetails>();
			while((line = reader.readLine()) !=null){
//				System.out.println(line);
				if(line.equalsIgnoreCase("")){
//				System.out.println("##############");
				
				}else {
					line = line.trim();
					if (line.indexOf(" ")==-1) {
						//不包含空字符串 ,那么就是局数信息
						bout = new Bout();
						bout.setId(Long.valueOf(line));
						bouts.add(bout); //读取一个新局时  就添加到总的局数中
						details =new ArrayList<BoutDetails>();
						bout.setDetails(details);
					}else{
						//如果包含空格 那么就可能是 用户的信息,或者是 公共的牌
						String[] cards = line.split(" ");
						if (cards.length==3) {
							//此行是用户的信息
							User user = new User();
							user.setId(Long.valueOf(cards[0].trim()));
							BoutDetails detail = new BoutDetails();
							detail.setUser(user);
							detail.setCards(line.substring(line.indexOf(" ")));
							details.add(detail);
						}else if(cards.length==5){
							//此行是公共牌的信息
							bout.setPublicCards(line);
						}else{
							
							System.out.println("数据错误了 "+cards.length);
						}
					}
					
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				if(reader!=null)
				reader.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return bouts;
	}
	
	
	public void writeResult(String fileName,List<Bout> bouts) throws CardFormatException{
		
		for (Bout bout : bouts) {
			String publicCards =bout.getPublicCards();
			List<Card> cardsList = CardUtils.string2Cards(publicCards);
//			FiveCards fiveCards = new FiveCards(cards)
			
		}
		
	}
}
Global site tag (gtag.js) - Google Analytics