J2ME游戏中读入文本并存储在String数组中

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一个在J2SE中十分钟即告完成的代码,在J2ME中花费了一个下午.是什么样的代码呢?

[要求]在游戏中读入文本形式存储的hints

[分析]

J2ME没有BufferReader,用InputStreamReader吧

既然没有BufferReader,也就不要奢望有readLine()了,自己慢慢循环吧

[源代码]

[code]

/* read hint-------------------------------------- */

/**

* This is the hints

* */

String[][] hintStr;

/**

* this specify the hint's show width

*/

final int hint_width = 8;

int hint_num;

public boolean readHint(int stage) {

if (stage > 0 && stage < 4) {

if (stage == 2) {

hint_num = 4;

} else {

hint_num = 3;

}

} else {

System.out.println("No this stage");

return false;

}

try {

String filename = "hint" + Integer.toString(stage);

InputStreamReader in = new InputStreamReader(getClass()

.getResourceAsStream(filename));

int num = -1;

do {

++num;

} while (in.read() != -1);

in.reset();

char[] hintsdat = new char[num];

System.out.println(num);

in.read(hintsdat);

in.close();

String hint_temp = new String(hintsdat);

int j = 0;

int i = 0;

String hint_num_temp[] = new String[hint_num];

for (int x = 0; x < hint_num; x++)

hint_num_temp[x] = "";

while (true) {

if (i < hintsdat.length) {

if (hintsdat[i] != '\n') {

hint_num_temp[j] += hintsdat[i];

i++;

continue;

} else if (j < hint_num) {

System.out.println(i);

i++;

j++;

}

continue;

}

break;

}

// System.out.println("Creating....");

j = 0;

for (i = 0; i < hint_num; i++) {

String str = new String(hint_num_temp[i]);

int str_num = str.length() / hint_width + 1;

hintStr = new String[num][str_num];

for (int z = 0; z < str_num; z++) {

if (z < str_num - 1) {

hintStr[j][z] = "";

hintStr[j][z] += str.substring(z * hint_width, (z + 1)

* hint_width);

} else {

hintStr[j][z] = "";

hintStr[j][z] += str.substring((z - 1) * hint_width);

}

System.out.println("hintStr[" + j + "][" + z + "]:"

+ hintStr[j][z]);

}

j++;

}

} catch (IOException e) {

System.out.println("Error");

}

return true;

}

[/code]

[总结]

程序要求很简单,一定有更好的办法来实现,结果参阅了大量资料,一无所获.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航