プロが教えるわが家の防犯対策術!

こんばんは。お世話になります。

ファイルに固定長のデータがあります。1行につき20件位あります。
データは固定長なので、行が変わってもデータの項目名は変わりません。最終的には、このデータをDBに入れます。

CSVファイルだと、カンマで区切ってあるので、データを分けることが出来るのですが、固定長のデータはどういう方法で、区切るのでしょうか?

誰か分かる方は教えてください。よろしくお願いします。

A 回答 (3件)

コンストラクタに


String(byte[] bytes, int offset, int length)
と言うのがありますがこれを使えばすむ話ではないのですか?
    • good
    • 0
この回答へのお礼

ご返事どうもありがとうございます。

ズバリですね。こんな便利なコンストラクタがあるとは。。。今まで、3日位悩んでいたのですが、見事に解消されました。大変感謝しております。

私は、配列の計算などのアルゴリズムが苦手なものですから、大変苦労しておりました。明日、SEが出張から返ってくるので、今夜中に仕上げたいと思います。どうもありがとうございました。とても、助かりました。

お礼日時:2002/12/11 19:55

> 実は、全角のデータが含まれておりまして、出来ないのです。



中途半端な回答で申し訳ない (^^;
ただの思いつきですが、String#getBytes() を使ってばらしてみてはどうでしょうか?

> ただいま、正規表現を根性で勉強しています。

Java の資料をあたるより perl の資料をあたった方が分かりやすいかもしれませんね。
ただ、正規表現というのは、あくまでも *文字ベース* なので、この質問のケースには
利用しにくいかも。
    • good
    • 0
この回答へのお礼

どうも、ご回答ありがとうございます。

String.getBytes()やら、ByteArrayInputStreamクラスなどを試してはいますが、エラーが出てしまうんです。。。

現状としては、BufferedReader.readLine()で1行読み込んで、その後、getBytes()でバイトを取得しています。それから、new String(バイト配列)
としていますが、ArrayIndexOutOfBoundsException がでてしまいます。

テストプログラムではうまくいっているので、もう一息だと思います。

どうもありがとうございました。では、またの機会に。

お礼日時:2002/12/11 19:43

String#substring() や StringBuffer#substring() を使って、切り出してゆきます。

この回答への補足

どうもありがとうございます。

私もそう思ったんですが、実は、全角のデータが含まれておりまして、出来ないのです。というか、やろうとすれば出来るんだとは思うんですが(半分くらいは作ってあります)もっと便利なクラスがないかと思い、質問しました。

a-kumaさん、いつもありがとうございます。実を言いますと、とても久しぶりの現場で、少々きつい目にあっております。a-kumaさんもお仕事頑張って下さい。私も、この現場がキーポイントとなっております。ただいま、正規表現を根性で勉強しています。では、ありがとうございました。

補足日時:2002/12/10 21:32
    • good
    • 0

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