0
0

この記事について

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 読み込みアクセスように開く
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0