カテゴリー
コンピューター

【Groovy】【Grails】テキストファイルの読み書きメモ

まとめメモ

Grails 使用でのアップロード時

Grails でファイルアップロード時は、MultipartFile (Spring Framework 5.0.2.RELEASE API) で受け取ることになる。
そのままアップロードしたファイルをサーバに保存しないならば、getInputStream メソッドを使用して InputStream からテキストファイルを読み込む。

参考

Grails 使用でのダウンロード時

例えばウェブブラウザ画面で「ダウンロード」ボタンを押して CSV ファイルをダウンロードするような場合。

バイト配列 byte[] を response.outputStream に追加してやることで可能。

byte[] を得るためには、StringWriter の toString() を使用して文字列を取得し、それを getBytes() すれば良い。

getBytes() するときに引数に文字コードを渡してやれば、文字コードを指定したのダウンロードも可能。

StringWriter writer = new StringWriter()
// writer にいろいろ文字列情報を追加する
byte[] bytes = writer.toString().getBytes("Shift_JIS")

// コントローラで次のようにしてダウンロード
response.outputStream << bytes

おわりに

Java の Stream や Reader、Writer がわけわからず、とても悩んでしまいました><。

OrangeSignal CSV – Java CSV ライブラリ を使用して、Grails で作ったウェブページから CSV ファイルをダウンロードしようとしたとき、どうやって byte[] にしたらよいかわかりませんでした><。

結果として StringWriter の toString、次いで getBytes すればできました。

少しずつ解ってきましたので、雑でもと思い、メモを残しました。

以上です。

コメントを残す