1

标题可能不准确,但我希望阅读这篇文章您能理解我想要做什么。

我好心困在这里。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 中拆分文本

4

1 回答 1

1

您可以将 char 数组视为字符串,其中包含用空格分隔的标记:new String(st_pk1)为您执行此操作。

之后,您需要将其拆分,如其他几个 Stack Overflow 问题中所述:

于 2012-04-17T08:12:34.140 回答