アプリ版:「スタンプのみでお礼する」機能のリリースについて

あるCSVファイルから行を読み込んで、以下のように文字列を配列に格納しようとしたのですが、カンマとカンマの間の文字列がNULLの時に、次のカンマにある文字列がずれて格納されてしまいます。
例外処理(if文)で処理を振り分けるなどとして、NULLもきちんと配列におさめるにはどのようにすればよろしいのでしょうか?



line = csvfile.readLine();
StringTokenizer analy = StringTokenizer(line,",");
String[] moji = new String[analy.countTokens()];
for (int n=0; n<moji.length; n++){
moji[n] = analy.nextToken();
}

A 回答 (11件中11~11件)

java.util.StringTokenizer ですよね?


インスタンスを作成するときに以下のコンストラクタを使ってみて下さい。
public StringTokenizer(String str,String delim,boolean returnTokens)

第3引数の returnTokens に true を指定すると、区切り文字自身も一つのトークンとして取得できます。

例) コンマ区切り aaa,,bbb
第1トークン aaa
第2トークン ,
第3トークン ,
第4トークン bbb

この方法を使えば、件の目的は果たせるのでは無いでしょうか?

参考URL:http://java.sun.com/j2se/1.3/docs/api/java/util/ …
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
trueを指定して試してみたのですが、区切り文字も入ってしまうのですね。
第1トークンaaa
第2トークン
第3トークンbbb
といった具合にするには、やはり独自に細かいプログラムを作成しなければいけないのでしょうか・・・

お礼日時:2001/03/27 10:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!