ジャワのイオフローメカニズムを学びます

IOストリームメカニズム

Fileクラスを使用します

Fileクラスのコンストラクタ

ファイル(URI URI)

ファイル(文字列のパス名)

ファイル(ファイルの親、文字列の子)

ファイル(文字列の親、文字列の子)

Fileクラスの一般的な方法

ブールが存在する():ファイルが存在するかどうかを決定します

ブールでCreateNewFile():あなたは、新しいファイルを作成し、ファイルのみを作成することができ、あなたはディレクトリ(フォルダ)を作成することはできません、最初のファイルが存在するかどうかを確認作成し、存在して作成し、trueを返しますしない、偽があります。

絶対パスファイルのファイル形式のファイルgetAbsoluteFile()ファイルタイプ、ファイルファイルの等価=新しいファイル(絶対名)、

絶対パス文字列文字列getAbsolutePath()文字列型

文字列のgetName():パスの名前は最後の段階で取得します

文字列のある、getPath()//が得る相対パス名です:遊んと呼ばれるものFileオブジェクトがある、getPath()メソッドであります

親ディレクトリのヌルへのリターンがない場合は、現在のファイルの親ディレクトリを返します//文字列の親()

bolean isDirectory()//ファイルかどうかを判断します

bolean ISFILE()//それがフォルダであるかどうかを判断

bolean(削除)//ファイルまたはフォルダを削除します

[] LISTFILESを()//のみ現在のフォルダ内のすべてのファイルを取得するファイル

ロング丈は()//フォルダの前にポイントの長さを取得します。

public class Test01_01 {
    public static void main(String[] args) throws IOException {
        // 创建文件对象:绝对路径
        File f1 = new File("d:/a.txt");
        // 创建文件对象:相对路径
        File f2 = new File("a.txt");
        boolean b1 = f1.createNewFile();
        boolean b2 = f2.createNewFile();

        String path1 = f1.getAbsolutePath(); //d:\a.txt
        String path2 =  f2.getAbsolutePath(); //C:\idea_workspace\basic-java\a.txt
        System.out.println(path1+" "+path2);
        File fpath1 = f1.getAbsoluteFile(); //d:\a.txt
        File fpath2 = f2.getAbsoluteFile(); //C:\idea_workspace\basic-java\a.txt
        System.out.println(fpath1+" "+fpath2);

        String name1 = f1.getName(); //a.txt
        String name2 = f2.getName(); //a.txt
        System.out.println(name1+" "+name2);
        /*
        获取的是相对路径
         */
        String  p1 = f1.getPath();//d:\a.txt
        String p2 = f2.getPath(); //d:\a.txt
        System.out.println(p1+" "+p2);
        File f3 = new File("d:/aaa/aa");
        System.out.println(f3.getParent()+"f3....");
        System.out.println(f2.getParent()+"f2....");
        Boolean b = f3.mkdirs();
        System.out.println(b);
        File f4 = new File(f3,"a"); //在 aaa/aa文件夹下再创建一个文件目录a
        String parent = f4.getParent();
        System.out.println(parent);
        f4.mkdir();
        File f5 = new File("d:/aaa/aa/a","a.txt");
        System.out.println(f5.getParent());
        System.out.println(f4.getName()); //a
        f5.createNewFile();//在d:/aaa/aa/a下创建一个a.txt文件
        System.out.println(f5); //d:\aaa\aa\a\a.txt,实际是复写了toStirng()方法,在toStirng中调用了getPath()
        //删除文件或文件夹delete()
        f2.delete();
        f1.delete();

    }


}


    public static void main(String[] args) {
        // 创建文件对象
        File f = new File("d:/aaa/b.txt");
        // 获得文件名
        String filename = f.getName();
        // 获得文件大小
        long filesize = f.length();
        // 获得文件的绝对路径
        String path = f.getAbsolutePath();
        // 获得父文件夹路径,返回字符串
        String parentPath = f.getParent();
        // 获得父文件夹路径,返回文件对象
        File parentFile = f.getParentFile();
        // 输出信息
        System.out.println("文件名:" + filename);
        System.out.println("文件大小:" + filesize);
        System.out.println("文件路径:" + path);
        System.out.println("文件父路径:" + parentPath);
        System.out.println("文件父路径:" + parentFile);
    }

業績

ファイルまたはフォルダかどうかを決定します

    public static void main(String[] args) {
        // 创建文件对象
        File f1 = new File("d:/b.txt");
        // 判断是否是一个文件
        if(f1.isFile()) {
            System.out.println(f1.getName()+"是一个文件");
        }  else {
            System.out.println(f1.getName()+"不是一个文件");
        }
        // 创建文件对象
        File f2 = new File("d:/aaaa");
        // 判断是否是一个文件夹
        if(f2.isDirectory()) {
            System.out.println(f2.getName()+"是一个文件夹");
        }  else {
            System.out.println(f2.getName()+"不是一个文件夹");
        }
    }

結果:

現在のフォルダ内のすべてのファイルのリストを取得します。

public class Test01_08 {
    public static void main(String[] args) {
        // 创建文件对象
        File f = new File("d:/aaa");
        // 获得文件夹下所有文件
        File[] files = f.listFiles();
        // 遍历文件数组
        for (File file : files) {
            // 将文件的名字打印到控制台
            System.out.println(file.getName());
        }
    }
}

LISTFILES(FileFilterのフィルタ)、ファイルLISTFILES(FilenameFilterフィルタ)

、LISTFILE書き換え方法

フォルダが指定したフィルタ条件のファイルとディレクトリを満たして返します// [] LISTFILES(FileFilterのフィルタを)ファイル。

ファイルLISTFILES(FilenameFilterフィルタ)

FileFilterのFilenameFilterとがインタフェースであり、インタフェースは唯一の方法は、インターフェースのメソッドを実装するために使用されなければならない)(受け入れる定義します

ブールは、(ファイルのパス名を)受け入れる:FileFilterの方法、ファイルのファイルのファイルパス名の両方のファイルタイプはディレクトリのタイプを持っています

(ファイルのディレクトリ、文字列名)受け入れブール:FilenameFilter方法を、

注:DIRファイル:すべてのファイルをディレクトリにパッケージ化されています

ステップファイル[]ファイル= f.listFile(FileFilterのフィルタ)方法:

1.フォルダの下のすべてのファイルを入手し、すべてのファイルは、ファイルの種類としてパッケージ化されています

戻り値決意方法で定義されたコールのFileFilter取得したファイルいずれかで(ファイルパス名)法、着信ファイルのいずれかを受け入れ、フィルタにかかるルールは(受け入れるファイルトラバース2)、この方法は、現在の置けば真を返しますファイルに保存されたトラバーサルファイルファイル[]配列 `

注:ファイルの名前が受信された、ではないパス名:原則通話はほぼ同じ(ファイルのディレクトリ、文字列名)を受け入れ、だけでなく、もう一つの機能、受信できるファイルの現在のフォルダのファイル名、文字列名ブール

public class Test01_09 {
    public static void main(String[] args) {
        File f = new File("d:/aaa/aa/a");
        /**
         *    d:/aaa/aaa/a下有两个文件:一个_a文件夹,一个a.txt文件
         *    要求:只获取d:/aaa/aaa/a下的文件,不获取文件夹
         */
         File[] file = f.listFiles(new FilenameFilter() {
             @Override
             public boolean accept(File pathname, String name) {
                 System.out.println(name); //a.txt /_a
                 if(name.endsWith(".txt")){
                     return true;
                 }
                 return false;
             }
         });
        System.out.println(file[0]);
    }

}

**注:使用FilenameFilterフィルタ、すべてのファイルがコピーフォルダであるディレクトリにパッケージ化されています

分類流れ

ポイントの流れによって:

  • 入力ストリーム:ディスクからメモリに読み込まれたデータ
  • 出力ストリーム:ハードディスクにメモリからデータを読み出し

読み取りポイントのタイプ別:

  • バイトのストリーム:読み取り時に1つのバイトが読み取られる
    OutputStreamを:出力バイトストリーム
    入力ストリーム:入力バイトストリーム
  • 文字ストリーム:第1の読取文字読み込む
    リーダー:入力文字ストリーム
    ライター:出力バイトストリーム

InputStream&OutPutStram

InputStream:バイトの入力ストリーム

FileInputStreamを:

バイトの入力ストリームのメモリの内容をハードディスクからファイルを読みます

コンストラクタ:

FileInputStreamを(ファイルのファイル)

FileInputStreamを(文字列名)

一般的な方法:

データがない場合-1に対応するデータのバイト数を返す//読み取るINT()

INTは、(バイト[] B)//バイト数が読み取られる戻り読み取ります

アプリケーションにバイト[]配列は、バイト[]配列の内容にバイトを読み取ります

読み取りINT(バイト[] B、オフINT、INT LEN)//バイトの数がメモリから読み出される返します

バイトは、指定された配列の場所に格納されたバイトのデータを読み出されます

public class Test03 {
    public static void main(String[] args) throws IOException {
        // 创建字节输入流对象并关联文件
        FileInputStream fis = new FileInputStream("d:/c.txt");
        // 定义变量接收读取的字节
        int len = -1;
        byte[] bytes = new byte[6];
        // 循环从流中读取数据
        while((len = fis.read(bytes))>0) {
            System.out.print(new String(bytes,0,len));
        }
        // 关闭流
        fis.close();
    }
}

プログラムの読み出し処理の流れ:

Javaプログラムが-----「JVM仮想マシンを見つける--------> -----通知OSオペレーティング・システム」ファイルを読み込むためのハードディスクからOS

OSは、データファイルを取得------「お知らせOSオペレーティング・システムは-----> ------見つけるJVM仮想マシン」のデータは、Javaプログラムに返されます

OutPutStram:バイト出力ストリーム

FileOutputStream:ハードディスク、読みバイト、によるリードバイトの出力ストリームにメモリからデータを読み込み、出力もあるときにバイト出力によってバイト

コンストラクタ:

  • FileOutputStream(ファイルfile)//出力ストリーム、指定した出力先に関連付けられたストリームを作成します
  • たFileOutputStream(文字列名)//出力ストリームを、指定された出力先に関連付けられたストリームを作成します
  • たFileOutputStream(ファイルファイル、ブール追記)は // 出力ストリームを、指定された出力先に関連付けられたストリームを作成し、ファイルの末尾にデータを追加するかどうかを指定
    追記= TRUE:ストリームオブジェクトは、ターゲット・ファイルに関連付けられ、データファイルの元の最後に追加
    アペンド= FALSE:オブジェクトは、元のファイルを上書きし、ストリームオブジェクトファイルに関連付けられている場合
  • FileOutputStream(文字列名、ブールAPPEND)//、ストリームが指定した出力先に関連付けられている出力ストリームを作成し、ファイルのappend =真の末尾にデータを追加するかどうかを指定します。元のファイルの末尾にデータを追加追加=偽:元のファイルを上書き

一般的な方法:

  • 空の書き込み(int型B)://指定された宛先番号> = 255に書き込まれたバイト、書き込みデータが空であります
  • ボイド書き込みデータの書き込み先の(バイト[] B)//バイト配列は、ハードディスクに書き込まれたバイトごとの形で書かれています
  • アレイ位置指定されたハード・ディスクに書き込まれたデータのバイトの空隙書き込み(バイト[] B、オフINT、INT LEN)
  • 空に近い()//近いストリームオブジェクト

    FileOutputStream fosのは=新しいFileInputStreamを( "D / A.TXT")的语义:

1.まず、出力ストリームオブジェクトを作成します

2.出力ストリームオブジェクトポイント宛先アドレスDの出力:/a.txt

fos.write(97)の意味:

バイトストリームオブジェクトデータを取得し、それが指定した宛先文書にデータを出力します

注:ファイルを書き込むときに、ファイルは、対応する符号化テーブル97において、符号化データを復号するためのテーブルを表示するように書き込み(97)は、97バイトを表し、小文字

public class Test01 {
    public static void main(String[] args) throws IOException {
        // 1.创建字节输出流FileOutputStream对象并指定文件路径。
        FileOutputStream fos = new FileOutputStream("d:/a.txt");
        // 2.调用字节输出流的write(int byte)方法写出数据
        fos.write(254); //
        byte[] bytes = {97,98};
        fos.write(bytes);
        // 3.关闭流
        fos.close();
    }
}

ラップファイル:

public class Test02 {
    public static void main(String[] args) throws IOException {
        // 1.创建字节输出流FileOutputStream对象并指定文件路径,并追加方式
        FileOutputStream fos = new FileOutputStream("d:/c.txt",true);
        // 2.调用字节输出流的write方法写出数据
        // 2.1 要输出的字符串
        String content = "i love java \r\n";
        for (int i = 0; i< 5; i++) {
            fos.write(content.getBytes());
        }
        // 3.关闭流
        fos.close();
    }
}

プログラムの書き込みプロセスフロー:

ファイルメモリを読み込むためのOSによって、Javaプログラム-----「JVM仮想マシンを見つける-------->通知OSオペレーティング・システム-----」

OSは------データファイルを取得する「お知らせOSオペレーティング・システム-----> ------ JVM仮想マシンを見つける」ハードディスクにデータを書き込むために

リーダー&ライター

リーダー:文字入力ストリーム

FileReaderの:文字入力ストリームのファイル操作

コンストラクタ:

FileReaderの(ファイルのファイル)

FileReaderの(文字列filename)

一般的な方法:

読んでint型()

読み取り値int //読み出されたデータが文字、下地ターンバイト単一文字によって読み取られる(CBUFのchar [])、従って、戻り値はバイトLの数であります

たとえば、次のように良いaaahhhを読んで、

リターンintは8で、漢字は2つのバイトを占有します

INTは、(CHAR [] CBUF、オフint型INT LEN)読み取ら

ライター:文字出力ストリーム

FileWriter:文字出力ファイルストリーム操作

コンストラクタ:

  • FileWriter(ファイルのファイル)
  • FileWriter(文字列filename)
  • FileWriter(ファイルのファイル、ブールAPPEND)
  • FileWriter(文字列fileNameに、ブールAPPEND)

一般的な方法:

  • 空の書き込み(int型のC)
  • ボイドライト(CHAR [] CBUF)
  • 空の書き込み(文字[] CBUF、オフint型、int型のlen)
  • 空の書き込み(String str)文字
  • 空の書き込み(文字列str、オフint型、int型のLEN)
  • 宛先ファイルブラシへのボイドフラッシュ()//データバッファメモリ
  • FileWriterのwrite()メソッドの実装メカニズム

ファイルにバッファ内のデータを書き込む()、メモリバッファにバイトデータにフラッシュを文字データを書き込むために、好ましいので、受信バイトまたはデータ・ファイル、およびそのファイルに依存対応する文字にバイトコードに対応する参照テーブルをコード

プロパティ(プロパティセット)が使用されます

役割のプロパティ:

  • 負荷(のInputStreamインストリーム)://プロパティコレクションにキーファイルを読み込みます
  • 店舗(うちのOutputStream、文字列のコメント)://書き込みデータセット、キーファイルを形成します

プロパティ:それは二重の列セットです

プロパティは、ハッシュマップを拡張し、ハッシュマップは、マップを実装します

プロパティ:それはユニークな流れイオへの結合の集合です

コンストラクタ:

プロパティ()//デフォルトのパラダイムがある<文字列、文字列>

一般的な方法:

文字列のgetProperty(String型のキー)://は、get()メソッドの基本的なマップを呼び出します

コールの基礎となるオブジェクトのsetProperty(String型のキー、文字列値)//がマップ()メソッドを置きます

セットstringPropertyNames()マップキーセット()メソッドに対応し、キーのリストを返す//

無効負荷(、InputStreamであるinStream)//外部ファイルのキーを読み込むには、キーデータは、Propertiesコレクション、ファイルのInputStreamに関連するアドレスキーの上に置かれています

キーに対応する通常値の形式で読み出したファイルキーは、キーは、一般的な接続または他の接続スペースのために使用されます=

無効負荷(リーダーリーダー)

空店舗(OutputStreamのうち、文字列のコメント)//プロパティは、データセットがパスに関連付けられたキーファイルの形式で格納されている一連の読み取りのOutputStream

空店舗(ライターライター、文字列のコメント)

public class Test06 {
    public static void main(String[] args) throws IOException {
//1:创建一个空的集合
        Properties prop = new Properties();
//2:读取数据到集合中
        prop.load(new FileInputStream("d:/score.txt"));
//3:遍历集合,获取到每一个key
        Set<String> keys = prop.stringPropertyNames();
//获取到每一个key
        for (String key : keys) {
//4:判断当前的key 是否为 "lisi"
            if ("lisi".equals(key)) {
//把"lisi"的值设置为100
                prop.setProperty(key, "100");
            }
        }
//把集合中所有的信息,重新存储到文件中
        prop.store(new FileOutputStream("d://score.txt"), "haha");
    }

}

バイトストリームバッファ

バッファフローの機能

オブジェクトエレメンタリストリームを作成するには、エレメンタリストリームの効率を高めるための読み取りおよび書き込み

四つの基本的な流れ:

1バイトの入力ストリームを

2バイトの出力ストリームを

3.文字入力ストリーム

4.文字出力ストリーム

BufferedInpuStream:バイトバッファリングされた入力ストリーム

コンストラクタ:

  • BufferedInputStreamを(でのInputStream)
  • BufferedInputStreamを(でのInputStream、int型のサイズ)// int型のサイズは:バッファのサイズを指定します

一般的な方法:

InputStreamを継承、一般的な方法のInputStreamがあります

BufferedInputStreamを(中のFileInputStream)の原則の実現:

BufferedInputStreamを `によってバッファゾーン、ストリームオブジェクトに関連付けられたバッファを作成して、FileInputStreamのは、ハードディスクとメモリの間で頻繁に移動せずにデータを読み込むには、バッファにデータを書き込み、最後に1回の書き込みデータメモリへ

public class Test07 {
    public static void main(String[] args) throws IOException {
        // 创建字节输出流FileOutputStream对象并指定文件路径。
        FileOutputStream fos = new FileOutputStream("d:\\c.txt");
        // 利用字节输出流创建高效字节输出流对象
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        // 调用高效字节输出流对象的write(int byte)方法写出一个字节数据
        bos.write(97);
        // 关闭流
        bos.close();
    }
}

なBufferedOutputStream:バイトバッファリングされた出力ストリーム

  • コンストラクタ:

なBufferedOutputStream(OutputStreamのうち)

なBufferedOutputStream(OutputStreamのうち、int型のサイズ)// int型のサイズは:バッファのサイズを指定します

一般的な方法:

OutputStreamを継承、のOutputStreamの一般的な方法があります

BufferedOutputStreamが(のFileOutputStreamアウト)の原則の実現:

BufferedInputStreamを `によりたFileOutputStream outは、メモリ、ハードドライブ、前回、バッファにデータを書き込むために第一のデータとの間の頻繁な旅行せずにデータを書き込むためのバッファゾーン、ストリームオブジェクトに関連付けられたバッファを作成しますのハードディスクに書き込みます

    public static void main(String[] args) throws IOException {
        // 创建字节输出流FileOutputStream对象并指定文件路径。
        FileOutputStream fos = new FileOutputStream("c:\\e.txt");
        // 利用字节输出流创建高效字节输出流对象
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        // 调用高效字节输出流对象的write(byte[] buff)方法写出一个字节数据
        bos.write("i love java".getBytes());
        // 关闭流
        bos.close();
    }

文字バッファの流れ

BufferedReaderの:文字入力ストリームバッファ

コンストラクタ:

BufferedReaderの(Readerで)

BufferedReaderの(、int型SZにおけるリーダー)

ユニークな方法:

文字列のreadLine()//テキストの行を読みます

BufferedWriterの:文字バッファ出力ストリーム

コンストラクタ:

BufferedWriterの(ライターアウト)

BufferedWriterの(アウトライター、int型SZ)

ユニークな方法:

ボイド改行()//識別にかかるライン分離、分離システムを書きます

変換の流れ

なぜ利用転換の流れ:

文字を符号化するためのさまざまな方法があるため、異なる符号化テーブルは異なる符号化、符号化に対応し、1体の関係を持っている必要があり、文字をデコード

符号化コードの種類

1.GBKエンコーディング:文字は2つのバイトを占有します

2.Utf-8エンコーディング:文字3つのバイト

3.ASCIIコーディング

異なるため、符号化の問題があります:

ローカルコンピュータ上の.txtファイルは、デフォルトのエンコード形式は、IDEA(デフォルトのエンコーディングがUTF-8である)は、2バイト文字、リードデータ、一つとして.txtの3バイトのデータです。超UTF-8、この場合に対応するが文字化けする検索する場合、文字コード表

InputStreamReaderの:入力ストリームを変換します

InputStreamReaderのRederを拡張

コンストラクタ:

InputStreamReaderの(でのInputStream)

InputStreamReaderの(に入力ストリーム、文字セットCS)//データ復号化方法を読み取るために指定

入力ストリームを変換する原則:

FileInputStreamのFIS = 新しい FileInputStreamを( "A.TXT");

InputStreamReaderのISR = 新しい InputStreamReaderの(FIS、 "GBK");

1.データ・ソースに関連付けられた文字の形にInputStreamReader読み取り、入力ストリームを変換するオブジェクトを作成します

2.FileInputStreamはバイト文字オブジェクトにオブジェクトとそのデコードモードを指定します

public static void main(String[] args) throws IOException{
        // 创建字节输入流对象并关联文件
        FileInputStream fis = new FileInputStream("a.txt");
        // 创建转换输入流对象
        InputStreamReader isr = new InputStreamReader(fis,"gbk");
        // 定义字符数组存放读取的内容
        char[] buffer = newchar[1024];
        // 定义变量接收读取的字符个数
        intlen = -1;
        while((len = isr.read(buffer)) != -1) {
            System.out.print(new String(buffer,0,len));
        }
        // 关闭流
        isr.close();
    }

OutputStreamWriter:出力ストリームに変換します

OutputStreamWriterライターを拡張

コンストラクタ:

  • OutputStreamWriter(OutputStreamのうち)
  • OutputStreamWriter(OutputStreamのうち、文字セットCS)は、出力データのエンコーディングを指定する//

変換原則出力ストリーム:

FileOutputStream fosのは=新しいのFileOutputStream( "A.TXT")

OSW =新しいのOutputStreamWriter OutputStreamWriterを(FOS、 "GBK");

1のメモリワードに変換出力ストリーム・オブジェクト、データ・フォーマットを作成します

2.のFileOutputStreamはバイト文字オブジェクトにオブジェクトとそのエンコーディングを指定します

public static void main(String[] args) throws IOException{
        // 要保存的字符串
        String content = "我爱Java";
        // 创建字节输出流对象
        FileOutputStream fos = new FileOutputStream("a.txt");
        // 创建转换输出流对象
        OutputStreamWriter osw = new OutputStreamWriter(fos, "gbk");
        // 调用方法写出数据
        osw.write(content);
        // 关闭流释放资源
        osw.close();
    }

&シリアル化ストリームの流れは、デシリアライズ

ObjectOutputStreamの:直列化ストリーム

シリアル化:プロセス・ストリームオブジェクトへのオブジェクト

コンストラクタ:

ObjectOutputStreamの(OutputStreamのうち)

一般的な方法:

writeObject(オブジェクトobj)//出力ファイルストリームに関連付けられたオブジェクトobjオブジェクトを書きます

注意:オブジェクトをシリアル化するには、クラスに対応するオブジェクトがSerializableインタフェースを実装する必要があり、それ以外の場合は、例外がスローされます

ObjectInputStreamの:直列化復元ストリーム

直列化復元:ストリームオブジェクトを処理の対象に

コンストラクタ:

ObjectInputStreamの(でのInputStream)

一般的な方法:

readObjectメソッドオブジェクト()入力ストリーム関連パッケージオブジェクトオブジェクトに直列化されたストリームオブジェクト

原則として、デシリアライゼーション:

クラスは、クラスファイルにコンパイルされる直列化インターフェイスを実装するときに自動的にserialVersionUIDの(シリアライズ識別子)、オブジェクトが直列化されたとき、識別子はまた、直列化ストリームをデシリアライズさに書き込まれるを生成しますクラスファイルの対応する識別子を見つけるため、対応する非直列化さを与えるために使用されます

クラスファイルが変更された場合、この時点で新しいserialVersionUIDの(シリアライズ識別子)を生成し、生成された元のシリアル化されたストリームオブジェクトを対応するにデシリアライズすることができない、1つのクラスのserialVersionUID(シリアル化された識別子を確保する必要があります文字)、それ以外の場合は、例外がスローされます

固定されたserialVersionUIDの(シリアライズ識別子)アプローチ:

変数を宣言します。プライベート静的最終長いserialVersionUIDの=カスタム値

注:値が(過渡的キー)修飾静的および一時変数をシリアル化することができません

シリアル化コレクション

ファイルに格納された複数のオブジェクトは、収集、収集シリアライゼーションおよびデシリアライゼーションに格納されているオブジェクト

ステップ:

1.保存されたオブジェクトのセットを定義します。

2.コレクションにオブジェクトを追加します。

3.シリアル化されたストリームを作成します。

4.writeObject(コレクション)

印刷ストリーム

PrintStreamはOutputStreamを拡張します

特長:出力データのための唯一の責任は、読書のための責任を負いません。

コンストラクタ:

PrintStream(ファイルのファイル)

PrintStream(OutputStreamのうち)

PrintStream(文字列filename)

一般的な方法:任意のタイプのデータを印刷することができます

印刷(任意のデータを受信することができます)

println(任意のデータを受信することができます)

PrintStream psの=新しいのPrintStream(ファイルf);

ps.print()//デフォルトの出力制御部

使用System.setOut(PS)は:関連する新しいPrintStreamを(ファイルf)に出力ファイルを指定します。

他の

おすすめ

転載: www.cnblogs.com/Auge/p/11372920.html