JavaのIOストリームとファイル操作

Java.ioパッケージは、ほぼすべての操作所望基づいて、入力と出力とを含みます。これらのストリームの全ては、クラスの入力ソースと出力先を表します。

基本型、オブジェクト、文字セット、およびそのローカライズ:よう、フォーマットJava.ioパッケージの様々なサポートをストリーミング。

これは、データのストリームのシーケンスとして理解することができます。リードのソースからの入力データストリームは、出力ストリームにデータを書き込むには、ゴールを表します。

Javaはそれがより広くファイル転送やネットワークプログラミングで使用すること、I / Oのための強力かつ柔軟なサポートを提供します。

コンソール入力

BufferedReaderのBR = 新しい BufferedReaderの(新しい InputStreamReaderの(System.in))。

BufferedReaderのオブジェクトが作成された後、我々は、read()メソッドは、コンソールから文字を読み込み、使用、または文字列のreadLine()メソッドを読み取ることができます。

:BufferedReaderの使用対象から読み出された文字は、以下の構文を有する()メソッドを読み出します

int型の読み取りは、()スロー IOExceptionが

入力ストリームから文字を読み取り、整数値として文字を返すために、各コールread()メソッド。場合は、ストリームの終わりまたは-1。このメソッドはIOExceptionがスローされます。

標準入力から文字列を読み取ることのreadLine BufferedReaderの()メソッドを必要としました。

文字列のreadLine()はスロー IOExceptionが

JDK5のバージョン我々はまた、入力されたコンソールを取得するためにJavaのスキャナクラスを使用することができます。

コンソール出力

前に導入された、コンソール出力)(プリント()とのprintlnによって行われます。クラスのPrintStreamによって定義されたこれらの方法のSystem.outは、そのオブジェクトへの参照です。

PrintStreamは、OutputStreamのクラスを継承したとメソッドの書き込みを実装して()。このように、()を書き、コンソールとしてから書くことができます。

次のように最も単純な形式定義のPrintStream書き込みは()です。

の書き込み(int型 byteval)

ファイルを読み書きします

ストリームは、データの配列として定義されます。入力ソースストリーム、ターゲットにデータを書き込むための出力ストリームからデータを読み取ります。

バイトストリームと文字ストリームへのIOストリームは、文字のストリームは、リーダライタ、のInputStreamとOutputStreamのにバイトストリームに分割されています。

 

FileInputStreamを

ストリームがファイルからデータを読み取るために使用され、そのオブジェクトは、新しいキーワードを使用して作成することができます。

オブジェクトを作成するために使用することができ、いくつかの施工方法があります。

// コンストラクタ1。 
のInputStream F = 新新のFileInputStream( "C:/ Javaの/こんにちは" );
 // コンストラクタ2 
ファイルF = 新しい新しいファイル( "C:/ Javaの/こんにちは" ); 
のInputStream OUT = 新しい新しい FileInputStreamを(F) ;

FileOutputStream

このクラスは、ファイルを作成し、データファイルを書き込むために使用されます。

ファイルが出力用にオープンされる前に、ストリームは、ターゲットファイルが存在しない場合は、フローは、ファイルを作成します。

コンストラクタのFileOutputStreamオブジェクトを作成するには、2つの方法があります。

// コンストラクタ1。 
のOutputStream F = 新新のFileOutputStream( "C:/ Javaの/こんにちは" // コンストラクタ2 
ファイルF = 新しい新しいファイル( "C:/ Javaの/こんにちは" ); 
OutputStreamをF = 新新のFileOutputStream(F);

インポート * java.io.を
 
パブリック クラスfileStreamTest2 {
     公共の 静的な 無効メイン(文字列[] argsが)スローにIOException { 
 
        ファイルF = 新しい新しいファイル( "A.TXT" ;)
        のFileOutputStream FOP = 新新のFileOutputStream(F);
         // 建設たFileOutputStreamを存在しないオブジェクトファイルが自動的に作成された
 
        のOutputStreamWriterライター = 新しい新しいのOutputStreamWriter(FOP、「UTF-8」);
         // オブジェクトをOutputStreamWriterを構築し、符号化パラメータを指定することができ、デフォルトでは、オペレーティング・システムのデフォルトエンコーディングで、窓はGBKです
 
        Writer.append( "中国語入力" );
        // バッファに書き込まれ
 
        Writer.append(「\ rを\ N-」);
         // ラップ
 
        Writer.append(「英語」を);
         // キャッシュが内容が書かれていない場合、ファイルに書き込まれ、赤いフラッシュされ、次の、また閉じるように直接書き込ま
 
        writer.Closeを(); 
        // バッファの内容をファイルので、上記のコメント書き込みする一方閉じる、ストリームに書き込ま
 
        fop.closeを(); 
        // 出力ストリームを閉じ、送達システムリソース
 
        FileInputStreamのFIP = 新しい新しいFileInputStreamを(F);
         // オブジェクトのFileInputStream構築
 
        InputStreamReaderのリーダー = 新しい新しい InputStreamReaderの(FIP、 "UTF-8" );
         // InputStreamReaderのオブジェクトを構築し、同じエンコーディングを書きます
 
        SBのStringBuffer = 新しい新規のStringBuffer();
         一方(reader.ready()){ 
            sb.append((CHAR )reader.Read());
             //は追加StringBufferオブジェクトcharに切り替える
        } 
        のSystem.out.println(SBを。 toString()); 
        reader.Close(); 
        // リード用閉じる
 
        fip.close(); 
        // 入力ストリームを閉じ、空きシステムリソース
 
    } 
}
コードの表示

Javaファイルのディレクトリ

ディレクトリを作成します

Fileクラスには、フォルダを作成するために使用することができる2つのメソッドがあります。

  • MKDIR()フォルダを作成するための方法は、それが失敗した場合はfalse、成功した場合はtrueを返します。失敗は、Fileオブジェクト指定されたパスがすでに存在している、または全体パスが存在しないため、フォルダを作成できないことを示しています。
  • mkdirs()メソッドは、フォルダとその親フォルダのすべてを作成します。
インポートのjava.io.File; 
 
パブリック クラスCreateDir {
     公共 静的 ボイドメイン(文字列引数[]){ 
        文字列DIRNAME = "/ TMP /ユーザ/ジャワ/ binに" ; 
        ファイルD = 新しいファイル(dirnameの);
        // 现在创建目录
        d.mkdirs(); 
    } 
}

注意: Javaは自動的にUNIXとWindowsで合意された解像度のファイルパスの区切りに応じました。あなたは、Java、(/)のWindows版では、セパレータを使用する場合は、パスが正しく解決されるように、まだあります。

ディレクトリを読みます

ディレクトリには、実際には他のファイルとフォルダが含まれているFileオブジェクトです。

あなたはFileオブジェクトを作成し、それがディレクトリである場合には、コールisDirectory()メソッドはtrueを返します。

オブジェクトリスト()メソッドで呼び出すことによって、ファイルやフォルダのリストが含まれて抽出します。

インポートのjava.io.File; 
 
パブリック クラスdirlistに{
     公共 静的 ボイドメイン(文字列引数[]){ 
        文字列DIRNAME = "/ TMP" 
        F1ファイル = 新しいファイル(dirnameのを)。
        もし(f1.isDirectory()){ 
            するSystem.out.println( "目录" + DIRNAME)。
            文字列s [] = f1.list()。
            以下のためにint型 i = 0; iは<s.length; iは++ ){ 
                ファイルf = 新しいファイル(DIRNAME + "/" + S [I]);
                もし(f.isDirectory()){ 
                    のSystem.out.printlnは(Sは、[I]は + "ディレクトリである" ); 
                } { 
                    System.out.printlnは(S [I] + "ファイルです" ); 
                } 
            } 
        } { 
            するSystem.out.println(DIRNAME + "がディレクトリではありません" ); 
        } 
    } 
}

ファイルまたはディレクトリを削除するには

削除したファイルを使用することができますjava.io.File.delete()メソッドを。

次のコードは、ディレクトリが削除されますを/ tmp / Javaの/は、それ以外の場合は失敗した削除させていただきます、あなたはディレクトリを削除すると、このディレクトリ内の他のファイルが正常に削除できないことを保証しなければならないことに注意すること。

インポートはjava.io.File; 
 
パブリック クラスDeleteFileDemo {
     公共の 静的な 無効メイン(文字列の引数[]){
         // ここではそのテストディレクトリの変更 
        ファイルフォルダ= 新しい新しいファイル( "を/ tmp / Javaの/" ); 
        DeleteFolder(フォルダ) ; 
    } 
 
    // ファイルやディレクトリの削除
    パブリック 静的な 無効DeleteFolder(ファイルフォルダ){ 
        ファイル[]ファイル =のfolder.listFilesを();
         IF(ファイル=!ヌル{)
             について(ファイルF:ファイル){
                 IF (f.isDirectoryを( )){
                    deleteFolder(F)。
                } { 
                    f.delete()。
                } 
            } 
        } 
        folder.delete()。
    } 
}

 

おすすめ

転載: www.cnblogs.com/blunFan/p/11670774.html