この記事について
OracleJavaSE11 goldを勉強していた時になかなか覚えられないな〜っとなっていた内容を毎回見ることができるようにこちらの書籍で勉強していた時のまとめたものです!
おすすめ書籍(勉強開始時点の書籍最新版を購入しましょう)
各カテゴリごとでまとめていますので隙間時間に見てみてください。
Java.io.File
ディレクトリやファイルへのパスを表すクラス
File file = new File("絶対パスか相対パス")
メソッド名 | 説明 |
---|---|
exists() | 存在するか確認 |
createNewFile() | 新しいファイルを作る |
mkdir() | 新しいディレクトリを作る |
getAbsolutePath() | ファイルやディレクトリの絶対パスを調べる |
listFiles() | 指定位置のファイルやディレクトリの一覧をファイル型配列で取得 |
isDirectory() | ディレクトリパスかどうか真偽値を返す |
list() | 指定位置のファイルやディレクトリの一覧を文字列配列で取得 |
newDirectoryStream() | ディレクトリ内のファイルやディレクトリを扱うときに使用する |
FileFilterインタフェース
accept()
File型の引数を受け取り真偽値を返す
Java.ioパッケージ
入出力の基本的なインタフェースやクラス郡がはいっている
文字ストリーム
テキスト
文字ストリームのクラス郡
Java.io.reader
fileReader
ファイル文字の読み込み
read()
コードポイント(1文字の番号)を戻し、終端なら-1になる
bufferedReader
文字をバッファに溜め込むことによりネイティブAPIへのアクセスを減らす
readline()
文字列を戻し、終端ならnullになる
lines()
ストリームの中間操作メソッド(readlineと同様)
Java.io.writer
fileWriter
テキストファイルへの上書き、または新規作成
追記モードにするには第二引数をtrueにする
write()
書き込みメソッド
bufferedWriter
書き込み内容をバッファに溜め込む
newLine()
プログラムに応じて改行コードを追記してくれる
write()
書き込み内容をバッファする
flush()
強制的にファイルへの書き込みを行う
バイトストリーム
パソコンが解釈、写真ファイルなど
バイトストリームのクラス郡
Java.io.InputStream
fileInputStream
ファイルバイトストリームの読み込み
bufferedInputStream
バイトストリームをバッファに溜め込むことによりネイティブAPIへのアクセスを減らす
readNbytes()
指定したバイト数で区切りバイト配列を返す、終端は要素数0
readAllbytes()
すべて読み込みバイト配列を返す、終端は要素数0
inputStreamReader
バイトストリームを文字に置き換える
コンソール入出力のクラス郡
System
inフィールド
コンソールから入力を受け付ける。readlineで入力待ちになる
Java.io.Console
コンソールからの入力受け取りを簡略化したもの
System.Console()
コンソールクラスの呼び出し
readLine()
コンソール入力の読み込み、入力内容はコンソールに表示され、文字列で返される
readPassword()
コンソール入力の読み込み、入力内容はコンソールに表示されない、文字配列で返される
Scannerテキストデータ処理
java.util.Scanner
文字列ストリームを簡単に扱えるようにした便利クラス
hasNext()
次に読み込む行があるか確認する
next()
一行ずつ読み込む
useDelimiter()
引数を改行文字として認識する。パイプを使えば複数選択可能
シリアライズ Serializable
java.io.Serializable
実装クラスがシリアライズしなければならないことをJVMに示すためのマーカーインタフェース
シリアライズ
メモリ上にあるインスタンスをストリームとして出力すること
別名のシリアライズ(直列化)はhas-a関係がガベージコレクションの対象にならないようまとめること
デシリアライズ
ファイルに書き出された情報をもとにインスタンスを作り直すこと
マーカーインタフェース
抽象メソッドをひとつも持たない、クラスに何らかの意味を持たせるために利用するインタフェース
java.io.NotSerializableException
Serializableインタフェースを実装せずにシリアライズしようとした場合の例外
transientフィールド
シリアライズの対象にならない。
※staticは常に非対称
ObjectOutputStream
writeObject()
シリアライズ(マーカーインタフェース)を実現したインスタンスをファイルに出力する
シリアライズクラスに同名メソッドを記述するとそちらが自動的に呼ばれる(カスタム・シリアライズ)
ObjectInputStream
readObject()
Object型でファイルからオブジェクト生成する。(ダウンキャストすること)
シリアライズクラスに同名メソッドを記述するとそちらが自動的に呼ばれる(カスタム・シリアライズ)
NIO.2
fileクラスが担っていた、ファイルやディレクトリへのパスを表す機能とファイル操作のための機能が完全に分離したもの
java.nio.file.pathインタフェース
ファイルやディレクトリへのパスを表す
toAbstractePath()
絶対パスの取得
java.nio.file.pathsクラス
あくまでもPath型のクラスをとりやすくするためのもの
メソッド名 | 説明 |
---|---|
get() | パスの取得、可変長引数のため区切り文字を気にしない書き方も可能、pathを返す |
resolve() | pathsに設定したパスの結合 |
toFile() | パスからFileクラスを取り出す |
java.io.Fileクラス
topath()
fileクラスからパスをとりだしpath型で返す
java.nio.file.filesクラス
ファイル操作
メソッド名 | 説明 |
---|---|
exsist() | ファイルまたはディレクトリが存在するか |
createFile() | pathで渡されたファイルを生成する、既にある場合はFileAlreadyExsistException |
createDirectory() | ディレクトリを作成する、親ディレクトリがなければNoSuchFileException、既にある場合はFileAlreadyExsistException |
createDirectories() | 親ディレクトリがなければ作り、ディレクトリを作成する。同じディレクトリがあれば作成しない |
getLastModifedTime() | ファイルの最終更新日時を調べる |
getPosixFilePermissions() | ファイルのアクセス権を調べる。PosixはIEEEの標準規格、UNIX系OSの仕様を定めたもの |
delete() | 存在するファイルやディレクトリを削除 |
exsistDelete() | 存在を確認して削除 |
deleteIfExsist() | パスで表現されたファイルを削除処理し削除できたらtrueを返す |
copy() | 第一引数はコピー元のpath型、第二引数はコピー先のpath型 |
move() | 第一引数は移動元のpath型、第二引数は移動先のpath型 |
newBufferReader() | 読み込みバッファストリームを開く |
newBufferWrite() | 書き込みバッファストリームを開く、オプションを第二引数で指定(OpenOptionインタフェース) |
list() | 一覧をストリーム型で返す |
wark() | 再帰的に階層を探索し一覧を取得する |
find() | 階層と絞り込み条件を渡し、条件付きで再帰的に取得する |
lines() | ファイル内の全ての行を読み込みストリームで返す |
readAllLines() | ファイル内の全ての行を読み込みリストで返す |
warkFileTree() | 第一引数にディレクトリ、第二引数にjava.io.file.FileVisitorを匿名クラスでインスタンス化し、すべての抽象メソッドをオーバーライドし処理のタイミングで実施する |
java.io.file.FileVisitor
メソッド名 | 説明 |
---|---|
preVisitDirectory() | ディレクトリに入るとき |
postVisitDirectory() | ディレクトリに出るとき |
visitFile() | ファイルに遭遇した時 |
visitFileFailed() | ファイル処理に失敗した時 |
java.nio.file.SimpleFileVisitor
FileVisitorの4つのメソッドを実現しているが中身のない状態のクラス、特定のメソッドのみ使用したい場合にインスタンス化し、オーバーライドする
java.nio.file.OpenOptionインタフェース
newBufferedWriterで使用、オプションを指定する。
standardOpenOptionクラス
列挙型
名称 | 説明 |
---|---|
APPEND | 追記モードでファイルを開く |
CREATE | ファイルが存在しない場合に新しいファイルを開く |
CREATE_NEW | 新しいファイルを作成し、存在する場合は失敗する |
DELETE_ON_CLOSE | 閉じる時に削除する |
READ | 読み込みアクセスように開く |