Discussion:
[問題] 請問一個讀檔的問題?
(时间太久无法回复)
DAMNpig
2006-10-08 02:17:43 UTC
Permalink
請問一下各位
我想讀一個txt檔。

但是只要讀到某特定一行(ex.只取第七行之類的)
那要用什麼語法

再請問一下
如果我要讀一行
public <numbers> = (one | two | three | four | five ) ;

但只取中間的one two three four five加入陣列

我用StringTokenizer分成不同token,但是連pubilc、<numbers> 這些都進去了

請問我該怎麼做?謝謝

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.211.7
t***@kkcity.com.tw
2006-10-08 11:07:30 UTC
Permalink
Post by DAMNpig
請問一下各位
我想讀一個txt檔。
但是只要讀到某特定一行(ex.只取第七行之類的)
那要用什麼語法
試試看LineNumberReader這個class吧!
(因為我沒用過,所以沒辦法幫您解答這問題,我通常都用暴力法....)
Post by DAMNpig
再請問一下
如果我要讀一行
public <numbers> = (one | two | three | four | five ) ;
但只取中間的one two three four five加入陣列
我用StringTokenizer分成不同token,但是連pubilc、<numbers> 這些都進去了
請問我該怎麼做?謝謝
多作幾次處理就可以了!如果確定分隔符號就這幾種的話:
tempString = "public <numbers> = (one | two | three | four | five )";
StringTokenizer = new StringTokenizer(tempString, "=()");
tempString = ST.nextToken(); //內容就是public <numbers>
tempString = ST.nextToken(); //內容是one | two | three | four | five;
ST = new StringTokenizer(tempString, "|");

這次的StringTokenizer ST就是您要的東東囉!再自己作處理即可

這應該是最笨的作法,我想應該還有更聰明的解法才對....
--
┌─────◆KKCITY◆─────┐ ★  人人可架站,經營社群聯誼天地  ★
│ bbs.kkcity.com.tw │ 歡迎社團/班系/歌友/藝文創作/公益申請
└──《From:61.62.107.41 》──┘ 到 KKCity 開設自己喜愛的主題BBS站
--
Pao
2006-10-09 22:11:01 UTC
Permalink
※ 引述《damnpig (DAMNpig)》之銘言:
: 請問一下各位
: 我想讀一個txt檔。
: 但是只要讀到某特定一行(ex.只取第七行之類的)
: 那要用什麼語法
: 再請問一下
: 如果我要讀一行
: public <numbers> = (one | two | three | four | five ) ;
: 但只取中間的one two three four five加入陣列
: 我用StringTokenizer分成不同token,但是連pubilc、<numbers> 這些都進去了
: 請問我該怎麼做?謝謝

public class Test
{
public static void main(String[] args)
{
String line = "public <numbers> = (one | two | three | four | five ) ;";
String[] array = line.split("[()]");
array = array[1].split("\\W+");
for(String str : array)
System.out.println(str);
}
}

以上是我的懶惰方法,參考吧...^^"

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.224.224

Loading...