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

現在JAVAで以下のようにプログラムし(一部ですが)、getName()によりFileの名前を取得し、配列に格納はできているのですが、今のプログラムだと出力しても例えば『HelloWorld.java』のように名前と拡張子が一緒に出力されてしまいます。
そこでなんとかして配列の出力部を
『HelloWorld』と『java』 のように名前、拡張子を別出力したいのでうがどうすればよいでしょうか?

fileTest = file.getName();
Object[] str ={fileTest,???????}; ←ここに別々に入れられるようにしたいのですが・・
                      イメージ的には{名前,拡張子}


このプログラムをどのように変更したらよいか教えていただけたら嬉しいです。修正点等お願いします。

A 回答 (2件)

そんなに難しいことじゃないと思うけど……



fileTest = file.getName();
int index = fileTest.lastIndexOf('.');
String body, ext;
if (index >= 0) { //拡張子がある場合
body = fileTest.substring(0, index);
ext = fileTest.substring(index + 1);
} else { //拡張子がない場合
body = fileTest;
ext = null;
}
String[] str = { body, ext };

テストしてませんが、大体こんな感じです。
    • good
    • 0
この回答へのお礼

本当にありがとうございました。大変助かりました。
しっかりとできたので嬉しく思います。

お礼日時:2004/11/01 00:42

単純に、得られたファイル名を分割するだけでよいと思いますが……



String クラスの lastIndexOf メソッドで . の位置を探し、substring メソッドで名前と拡張子をそれぞれ取り出すだけです。

この回答への補足

お早いご解答嬉しく思います。私も.の位置を探す方法を試みたのですが、実際のプログラムをうまくかけなかったのでもしお時間がありましたらプログラムをおしえていただけるとありがたいです。m(_ _)m

補足日時:2004/10/31 20:28
    • good
    • 1

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