倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

java.io/nio

これからの「Java I/O」の話をしようwww (13) : 続々・ファイル、ディレクトリの属性

Java nio の API を見ていくシリーズ(目次)。 今回はファイル、ディレクトリの属性の続きの続き。 どんどんマニアックになっていく気がする(笑) 未来の自分のためのメモ書きみたいなものダス。この記事の最後では、ファイルの作成と同時に属性を指定する…

Windows のリンク、シンボリックリンクは Java nio でどう扱われるか

Windows にはリンク風のファイルとして ショートカット shortcut シンボリックリンク symbolic link ハードリンク hardlink ジャンクション junction の4つがあります。 Java nio の java.nio.file.Files クラスではファイル属性を読み取るメソッドがあるの…

これからの「Java I/O」の話をしようwww (12) : ファイルシステム関連の型 FileSystem, FileSystems, FileStore

Java nio の API を見ていくシリーズ(目次)。 今回は今まで見てきた Path, Files クラスのメソッドで積み残している Path#getFileSystem() Files#getFileStore(Path) を踏まえて、ファイルシステムやファイルストア(Windows のドライブ)に関連する型を見…

これからの「Java I/O」の話をしようwww (11) : Files クラスのメソッド ~MIME Type を調べる~

Java nio の API を見ていくシリーズ(目次)。 Files クラスのメソッドがあと少し残っているので回収記事をサラリと。 今回はファイルの MIME Type を調べるメソッド Files#probeContentType() メソッド。MIME type とは XML に対しての「text/xml」みたい…

これからの「Java I/O」の話をしようwww (10) : Files クラスのメソッド 〜ディレクトリの階層を Stream で走査〜

Java nio の API を見ていくシリーズ(目次)。 そう言えば途中で終わってたなぁというシリーズ、ちょっと再開。 今回は Java8 で Stream API が導入された影響で Files クラスに追加された Stream 関連のメソッドのうち、ディレクトリ階層を走査するものを…

Groovy JDK? It's GDK! (File 編7) traverse() 再訪

今回は、以前の記事で簡単に見た traverse() メソッドをもう少しきちんと見て行きます(目次)。参考 URL 「Groovy JDK」 File オーバーロードされた3つの traverse()まずは traverse() メソッドのオーバーロードされているシグニチャを見てみましょう: voi…

Groovy JDK? It's GDK! (File 編6) その他のメソッド

さぁ、今回は GDK が File クラスに追加するメソッドのうち、今まで扱ってなかった残りのメソッドを見ていきます(目次)。 残りのメソッドは以下の通り: メソッド 返り値 since ファイル操作 size()renameTo(String newPathName) longboolean 1.5.01.7.4 …

Groovy JDK? It's GDK! (File 編5) データストリーム・オブジェクトストリーム

今回はデータストリームとオブジェクトストリームに関連するメソッド(目次)。 あんまり詳しくないんで、サラッと流しマース。データストリームまずはデータストリームに関連するメソッド。 データストリームとは、Java のプリミティブ型のストリームって感…

Groovy JDK? It's GDK! (File 編4) ファイル・ディレクトリの走査

今回は GDK が java.io.File クラスに追加している、ファイル・ディレクトリの走査に関するメソッドを見ていきます(目次)。 扱うメソッドは下表の通り: メソッド 返り値 since 非再帰 eachFile(Closure c)eachFile(FileType type, Closure c)eachDir(Clos…

Groovy JDK? It's GDK! (File 編3) 行処理

前回に引き続き、今回も GDK が java.io.File に追加している文字列関連のメソッドを見ていきます(目次)。 readLines() メソッドは各行を String オブジェクトとする、List<String> オブジェクトを返す「一括読み込み」メソッドです。 それ以外のメソッドは、Closu</string>…

Groovy JDK? It's GDK! (File 編2) 文字列・文字ストリーム

前回に続き、今回は GDK が java.io.File オブジェクトに追加する文字列・文字ストリーム関連のメソッドを見ていきます(目次)。 前回のバイト配列・バイトストリーム関連のメソッドよりよく使うかと思います。文字はデータ的に見れば「バイト + 文字セット…

Groovy JDK? It's GDK! (File 編1) バイト配列・バイトストリーム

Groovy では GDK の機能によって java.io.File クラスにいろいろメソッドが追加されていて、ファイル入出力が非常に手軽になっています。 その反面、追加されているメソッド数が多いため、どんなメソッドがあるのか把握し切れていない人も多いのではないでし…

Java NIO で Java の package-info.java を一括生成するプログラム

java.nio.file パッケージでディレクトリ階層を走査する方法をあれこれ試してたら(Files クラスのメソッド 〜ディレクトリの階層を走査〜)、こちらにまるで天啓のようなお題があったので早速試してみました。参考 No Programming, No Life 「お題:package…

これからの「Java I/O」の話をしようwww (9) : Files クラスのメソッド 〜ディレクトリの階層を走査〜

Java nio の API を見ていくシリーズ(目次)。 今回は、Files クラスに定義されている、ディレクトリ階層を走査するメソッドとそれに関連するクラス群を見ていきます。 java.nio では、ディレクトリ階層を走査す方法として、デザイン・パターンの1つである …

これからの「Java I/O」の話をしようwww (8) : Files クラスのメソッド 〜ディレクトリの内容を走査〜

Java nio の API を見ていくシリーズ(目次)。 今回は Files クラスに定義されている、ディレクトリの内容を走査するメソッドを見ていきます。 java.io.File クラスでいうところの list() / listFiles() メソッドに対応するメソッドです。 このメソッドに関…

これからの「Java I/O」の話をしようwww (7) : Files クラスのメソッド 〜続・ファイル、ディレクトリの属性〜

Java nio の API を見ていくシリーズ(目次)。 今回は、前回に引き続き、Files クラスに定義されている属性関連のメソッドを見ていきます。 正直、あんまり使わないかも知れませんが・・・これらを使う際には、java.nio.file.attribute パッケージのクラス…

これからの「Java I/O」の話をしようwww (6) : Files クラスのメソッド 〜ファイル、ディレクトリの属性〜

Java nio の API を見ていくシリーズ(目次)。 今回はファイル、ディレクトリのプロパティや属性を取得・設定するメソッドを見ていきます。 ただし、メソッド名に “Attribute” がつくメソッド(readAttribute(), setAttribute() など)は次回に。 今回見て…

これからの「Java I/O」の話をしようwww (5) : Files クラスのメソッド 〜ファイル内容の読み書き〜

Java nio の API を見ていくシリーズ(目次)。 今回はファイルに対しての読み書きを行うメソッドを見ていきます。 Files クラスのメソッドで一番使うものかも知れませんね。Files クラスには、いろいろな方法でファイルに読み書きするメソッドが定義されて…

これからの「Java I/O」の話をしようwww (4) : Files クラスのメソッド 〜ファイル、ディレクトリの操作〜

Java nio の API を見ていくシリーズ(目次)。 前回から結構時間が空いてしまいましたが、java.nio.file パッケージのクラスを見ていきま〜す。 今回はファイル、ディレクトリの操作です。 ファイルをコピーとか移動とかします。 以降の記事では「ファイル…

これからの「Java I/O」の話をしようwww (3) : Files クラスのメソッド 〜ファイル、ディレクトリの作成〜

Java nio の API を見ていくシリーズ(目次)。 今回から java.nio.file.Files クラスに定義されているメソッドを見ていきますヨ〜。 今回はファイルやディレクトリを作成するメソッドです。 これをもう少し分類すると、以下のようなメソッドがあります: フ…

これからの「Java I/O」の話をしようwww (2) : Files クラス 〜概要〜

Java nio の API を見ていくシリーズ(目次)。 前回、java.nio.file パッケージ内の Path インターフェース、Paths クラスを見ました。 今回はこれらと同様に重要なクラス、Files クラスを見ていきます。Files クラスFiles クラスは、Path オブジェクトを介…

これからの「Java I/O」の話をしようwww (1) : Path インターフェース, Paths クラス

Java nio の API を見ていくシリーズ。最近 Java SE 7 が正式リリースされたので、遅ればせながら API や言語使用の変更などをチラチラとチェック。 で、とりあえず身に着けておいた方が良さそうなのは I/O 周りのことかなぁと思ったので、API をあれこれ試…

XML 文書を読み込むのに InputStream と Reader どちらを使えばいい?

さて問題。 次のうち正しいのはどれ? XML 文書を読み込むのには InputStream よりは Reader を使う方がよい XML 文書を読み込むのには Reader よりは InputStream を使う方がよい XML 文書を読み込むのには Reader を使うべきである XML 文書を読み込むのに…

org.w3c.dom.Document を java.io.Reader に変換する

以前の記事で org.w3c.dom.Document オブジェクトを java.io.Writer へ書き出す処理を見ました。今回はそれを踏まえて、「org.w3c.dom.Document オブジェクトを java.io.Reader オブジェクトとして扱う」方法を考えます。 この目的のために java.io.Reader …

リソースの読み込み

Java プログラムからリソース(ファイル)を読み込む方法を幾つか紹介。 以下で見る方法は、どれも java.io.InputStream を取得する方法ですが、どのフォルダを基点にするかが違います。 ここで見るのは次の3つです: ベース・フォルダ上のファイル ソースフ…

入力の例外処理

Reader (BufferedReader) を扱う際の例外処理方法を見ていきます。 この例外処理の方法は java.io パッケージ内の Writer, InputStream, OutputStream でも同様に行えます。例外処理を行わない場合 簡単なテストコード内など、あまり例外処理を行わなくても…