2009年3月19日木曜日

for-each

java5以降
 for( 型 変数名: コレクション)
 コレクション: 配列、iteratableを実装したコレクションクラス
[例]
for(String str: arrStr)
for(Iterator: xxx.iterator())

コンソールエンコード

実行時のEncoding
実行の構成-共通-コンソール・エンコードで指定

文字ストリーム

Reader、Writer(抽象クラス)
 BufferedReader、BufferdWriter
 InputStreamReader、OutputStreamWriter
  FileReader、FileWriter

バッファリングなしでファイルからの入力
 FileReader
  ファイル名、Fileオブジェクトから作成
バッファリングありでファイルからの入力
 FileReader→BufferedReader
  Readerオブジェクトから作成
  行単位でread可能(改行コード line.separatorプロパティの定義)
サービス機能つきでファイルからの入力
 FileInputStream→InputStreamReader(→BufferedReader)
  InputStreamオブジェクトから作成
  エンコード指定可能(Charsetオブジェクトで指定)
 Scanner(Java5以降)
  FileオブジェクトやInputStream、Readableオブジェクトから作成
  構文解析が可能

バッファリングなしでファイルへの出力
 FileWriter
  ファイル名、Fileオブジェクトから作成
バッファリングありでファイルへの出力
 FileWriter→BufferedWriter
  Writerオブジェクトから作成
  newLineメソッドでシステム依存の改行出力可能(line.separatorプロパティの定義) 
サービス機能つきでファイルへの出力
 FileOutputStream→OutputStreamWriter(→BufferedWriter)
  OutputStreamから作成
  エンコード指定可能
 PrintWriter
  OutputStream、Writerオブジェクトから作成
  print、printf、printlnメソッドあり
  printlnメソッドでシステム依存の改行出力可能(line.separatorプロパティの定義) 
  プリミティブ型をフォーマットして出力可能
  

2009年3月6日金曜日

java.io.Fileクラス

  • カレントディレクトリの取得
    new File(".").getAbsoluteFile().getParent()
    getParent:パス名文字列を取得
    getParentFIle:Fileオブジェクトを取得
  • コンストラクタ
    File(File parent, String child)
    親抽象パス名および子パス名文字列から新しい File のインスタンスを生成します。
    File(String pathname)
    指定されたパス名文字列を抽象パス名に変換して、新しい File のインスタンスを生成します。
    File(String parent, String child)
    親パス名文字列および子パス名文字列から新しい File のインスタンスを生成します。
    File(URI uri)
    指定された file: URI を抽象パス名に変換して、新しい File のインスタンスを生成します。