标题可能不准确,但我希望阅读这篇文章您能理解我想要做什么。
我好心困在这里。Java ME 中的新功能,不幸的是,如您所知,它比 Java SE 减少了方法。
我想要完成的是:我有一个 txt,其中的数字用空格分隔。我想把它们放在一个数组中,当一个人将用空格分隔的数字放入一个数组时,它可以“表现得像 C++ 中的一个普通数组”。
现在在 J2ME 中我所做的(使用 Netbeans)是:我把 txt 放到一个流中。后来将流发送到一个字节数组,最后我将它转换为一个字符数组。
假设原始 txt 是:98 2 12 13
部分代码是:
InputStream is = getClass().getResourceAsStream("models.txt");
try{
int st_pk1_len = is.available();
byte st_pk1[] = new byte[st_pk1_len];
is.read(st_pk1);
char st_pk1_char[] = new String(st_pk1).toCharArray();
System.out.println(st_pk1_char);
我打印的是:98 2 12 13
虽然,我的问题是,当我想访问索引 0 时,我只得到数字 9 而不是 98。如果我试图到达数字 12,我将指针指向 3,但我得到的是一个空白空间,依此类推。
我已经搜索并尝试了不同的方法,但没有找到将其再次转换为原始数字的方法。
这可能是我的一个愚蠢的错误,也可能是我没有想到的。
这个问题没有简单的解决方案吗?
更新它现在正在工作!Array 用作“常规”c++ char 数组。如果其他人需要它或遇到我同样的问题,它的外观如下:
InputStream is = getClass().getResourceAsStream("st_pk1.txt");
int st_pk1_len = is.available();
byte st_pk1[] = new byte[st_pk1_len];
is.read(st_pk1);
char st_pk1_char[] = new String(st_pk1).toCharArray();
String PreSplitted = new String(st_pk1);
String AftSplit[] = Split(PreSplitted, " ");
如果你想检查:System.out.println(AftSplit[n]);
对于拆分方法,我使用了 Gnat 帖子中的第二个链接。 在 J2ME 中拆分文本