質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

652閲覧

assetsフォルダーのcsvファイルの行単位での取り込み

katakuri

総合スコア17

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

1クリップ

投稿2018/11/06 16:33

前提・実現したいこと

androidstudoでassetsフォルダーに置いたcsvの行単位での取り込み

発生している問題・エラーメッセージ

main下に置いたassetsフォルダーのcsvファイルが読み込めなくて困っています。
csvを行単位で修得し,で区分けしたいのですが、どうしても自身のコードではどうしても習得できないのです。また、Lineを宣言時にnull許容型に変更するとwhile上でのLineがType mismathとなってしまいます。どうか助言をよろしくお願いたします。

エラーメッセージ

該当のソースコード

kotlin
ソースコード
var maindata: InputStream =getResources().getAssets().open("data.csv")
var inputmaindata = InputStreamReader(maindata)
var buffermaindata = BufferedReader(inputmaindata)
var Line =""
while ((Line in buffermaindata.readLine()) != null) {
var cunma = StringTokenizer(Line, ",")
}

### 試したこと FileReader等に変更しても駄目でした。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

while以降の書き方が色々とごっちゃになっておかしなことになっているようですね。
おそらくやりたいことはreadLinesとfor-eachによる処理ではないでしょうか?
それと、useを使ってリソースの後片付けもしっかり行うようにしましょう。

kotlin

1BufferedReader(inputmaindata).use { buffermaindata -> 2 for (line in buffermaindata.readLines()) { 3 let commaSplitted = line.split(",") 4 } 5}

ちなみに、もっと簡潔に書けるuseLinesというメソッドも用意されています。

kotlin

1BufferedReader(inputmaindata).useLines { line -> 2 let commaSplitted = line.split(",") 3}

投稿2018/11/06 17:31

kakajika

総合スコア3131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

katakuri

2018/11/07 07:56

無事csvファイルを行単位で読むことができるようになりました。ありがとうございます! 自身の勉強不足を大きく実感しました...回答いただき本当に感謝しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問