またまたIntelliJ IDEAたん( ´∀`)
こないだこんなの紹介したけど、実は他にもあるんだお(`・ω・´)
とりあえずこんなサンプルコードを元にお話をすすめます
まずJavaのファイルつくって
上のコードはもちろんコンパイル通りますね
そして・・・・実は、こんなメニューもあるんだぜ(`・ω・´)
するとこうなります↓
で、このscalaのコードはそのままでコンパイル通ります\(^o^)/
・・・(´・ω・`)おわり?
ちょっとあっけないので、まぁ
- 変数の型省略
- System.out とか省略
- import まとめる
なんかをするとこんな感じ ↓ ですかね
import java.io.{BufferedOutputStream ,File , FileOutputStream ,IOException } import java.util.zip.GZIPOutputStream /**gzipファイルを作成するサンプル */ object CreateGzipSample { def main(args: Array[String]): Unit = { try { val file = new File("gzipsample.gz") println("gzipファイル作成: 開始: " + file.getAbsolutePath) new CreateGzipSample().process(file) println("gzipファイル作成: 終了") } catch { case e: IOException => println("gzipファイル作成中に" + "例外が発生しました。処理中断します:" + e ) } } } class CreateGzipSample { /** * gzipファイルを作成します * * @param file 出力するgzipファイル * @throws IOException 入出力例外が発生した場合 */ def process(file: File): Unit = { val gzipOutStream = new GZIPOutputStream(new BufferedOutputStream(new FileOutputStream(file))) try { gzipOutStream.write(new String("あいうえお。かきくけこ。").getBytes) gzipOutStream.finish } finally { gzipOutStream.close } } }
あとは、なんか元のコードが微妙なんですが*1、まぁそこを突っ込んでもしょうがないので、こんな感じでいいですかねぇ・・・もっと短くしようと思えばできますが(´・ω・`)
*1: おそらく超初心者向けの説明だから?