2012-11-06 2 views
1

안녕하세요, 나는 대학 핸드북을 분석해야하는 대학의 Java 프로젝트를 진행하고 있습니다. txt 로그 파일에서 포커 손을 찾았습니다.포커 손 - Java로 로그 파일 구문 분석

그들은 일반적으로 다음과 같이 보일 것이다 : 내가 가진 유일한 지식은 "수동"주사선 :

PokerStars Zoom Hand #86981279921: Hold'em No Limit ($0.10/$0.25 USD) - 2012/09/30 23:49:51 ET 
Table 'Whirlpool Zoom 40-100 bb' 9-max Seat #1 is the button 
Seat 1: lgwong ($30.99 in chips) 
Seat 2: hastyboots ($28.61 in chips) 
Seat 3: seula i ($25.31 in chips) 
Seat 4: fr_kevin01 ($31.81 in chips) 
Seat 5: limey05 ($27.45 in chips) 
Seat 6: sanlu ($24.65 in chips) 
Seat 7: Masterfrank ($25.35 in chips) 
Seat 8: Refu$e2Lose ($33.23 in chips) 
Seat 9: 1pepepe0114 ($37.62 in chips) 
hastyboots: posts small blind $0.10 
seula i: posts big blind $0.25 
*** HOLE CARDS *** 
fr_kevin01: folds 
limey05: folds 
sanlu: folds 
Masterfrank: folds 
Refu$e2Lose: folds 
1pepepe0114: folds 
lgwong: folds 
hastyboots: folds 
Uncalled bet ($0.15) returned to seula i 
seula i collected $0.20 from pot 
seula i: doesn't show hand 
*** SUMMARY *** 
Total pot $0.20 | Rake $0 
Seat 1: lgwong (button) folded before Flop (didn't bet) 
Seat 2: hastyboots (small blind) folded before Flop 
Seat 3: seula i (big blind) collected ($0.20) 
Seat 4: fr_kevin01 folded before Flop (didn't bet) 
Seat 5: limey05 folded before Flop (didn't bet) 
Seat 6: sanlu folded before Flop (didn't bet) 
Seat 7: Masterfrank folded before Flop (didn't bet) 
Seat 8: Refu$e2Lose folded before Flop (didn't bet) 
Seat 9: 1pepepe0114 folded before Flop (didn't bet) 

내 문제는 내가 로그 파일을 구문 분석 로 진행하는 방법에 대한 확실하지 않다이다 특정 문자 나 기호에 대해 줄 단위로 표시하지만 철저한 오류 처리가 필요합니다.

이렇게 포커 핸드를 분석 할 다른 기술이나 더 좋은 방법이 있다면 나는 방황하고 있었습니까? 당신의 도움에 대한

많은 감사

편집 :이 질문의 일부가 아닌 한, "데이터 마이닝"죄송합니다.

EDIT2

가 : 드 # 기호가 될 때까지/5 개 문자를 읽어 C++로 : 나는 또한 C++

예를 들어

과 동일한 기능을 수행 할 몇 가지 자바 방법을 찾고 있었다 myfile.getline을 (store_in_this_var, 5, ' # '), 같은 것을하기 위해 자바 메소드를 제안 해 주시겠습니까? 라인별로

이동 라인과 라인의 시작 부분에 문자를 찾습니다

+0

이 전혀 = \ –

+0

* 내가 가진 유일한 지식은 "수동"주사선에 의한 데이터 마이닝 아니다 특정 문자 또는 기호에 대한 줄 * 예,이 과제의 목적입니다 (최소한 그것이 어떻게 보이는지) . 너 뭐 해봤 니? –

+0

정규식? –

답변

1

당신은 아마 당신이 무슨 말을 바로 할 필요가있다.

은 내가 똑같은 일을했다 몇 년 전 FullTilt 포커에서 기록 파일을 분석 유사한 응용 프로그램 ...

를 쓰고 꽤 잘했다.


편집 :

+0

나는 C++ 백그라운드에서 왔는데, 자바에서 사용할 것입니다. 로그를 읽으려면? C + +에서 나는 다음과 같이하고 있었다 : myfile.getline (store_in_this_var, 5, '#') – nuvio

+1

아마 나는 _BufferedReader_를 사용할 것이다. 이것은 라인별로 파일을 읽기 쉽게 만든다. FileReader에서 파일을 만들 수 있습니다. 가장 좋은 방법은 API 문서를 읽는 것에 익숙해지는 것입니다. 이것은 자바 프로그래밍의 중요한 부분입니다. _BufferedReader_에 대한 설명서 링크는 다음과 같습니다. http://docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html – jahroy