ディレクトリ
@
バイト出力ストリームのOutputStream
ボイドクローズ()は、
この出力ストリーム解放このストリームに関連するすべてのシステムリソースをクローズ。無効フラッシュは()
この出力ストリームをフラッシュし、文字ストリームのための効果的な書き込みをするために、任意のバッファされた出力バイトを強制的にボイドライト(バイト[] b)に
指定されたバイト配列からこの出力ストリームに書き込まれてb.lengthバイト。ボイドライト(バイト[] B、オフINT、INT LEN)
この出力ストリームに書き込まオフオフセットlenバイトから始まる指定されたバイト配列。抽象ボイド書き込み(int型b)のバイトを書きます
OutputStream os = new FileOutputStream("hello.txt");
os.write("good".getBytes());
byte[] bys = {97,98,99,100};
os.write(bys, 1, 2);
os.write(100);
os.flush();
os.close();
// 输出结果 hellowordbcd
FileOutputStream(ファイルファイル)
出力ストリームで指定されたFileオブジェクトによって表されるデータファイルを記述するためのファイルを作成します。FileOutputStream(ファイルのファイル、ブールAPPEND)
出力ストリームで指定されたFileオブジェクトによって表されるデータファイルを記述するためのファイルを作成します。FileOutputStream(文字列名)は
、出力ファイルストリームの指定した名前のファイルへの書き込みデータを作成します。FileOutputStream(文字列名、ブールAPPEND)は
、出力ファイルストリーム内の指定された名前を持つファイルへの書き込みデータを作成します。
バインディングIOの書き込み例外処理をストリーム
System.out.println("Start");
try (OutputStream os = new FileOutputStream("Test.txt");
Scanner input = new Scanner(System.in);
){
os.write("HelloWorld".getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("End");
バイトの入力ストリーム入力ストリーム
メソッドの概要
使用可能INT()は
バックこの入力方法にバイトのストリームを推定読み出しをブロックせずに入力ストリームを呼び出し(またはスキップ)。
ボイド閉じる()
この入力ストリームを解放ストリームに関連するすべてのシステムリソースをクローズ。
無効マーク(int型readlimit)
この入力ストリームが現在の位置にマークを設定します。
ブールmarkSupported()
入力ストリームがmarkとresetメソッドをサポートしている場合。
抽象int型の読み取りは、()
入力ストリームからデータの次のバイトを読み込みます。**特点:** 1.表示一次性读取一个字节 2.每读取一个字节,那么返回的实际读取的内容 3.读取一个字节完毕,会自动等待读取下一个字节,类似迭代器的 cursor 4.读取到文件末尾返回 -1
読み取りINT(バイト[] b)は
入力ストリームからバイトの一定数を読み出し、バッファ配列bに格納します。
読み取りINT(バイト[] B、オフINT、INT LEN)
入力データのバイトを最大lenストリームは、バイト配列に読み込まれます。
無効リセット()
メソッドが呼び出されたこの入力ストリームマークの最後の位置に移転し、この流れ。
長い(長n)をスキップ
スキップしてnバイト内の入力データの流れを破棄する。ファイル- > FileInputStreamの入力ストリームメモリの
メモリ- >ファイル出力ストリームのPrintStream注意:
1.それ以外の場合は、FileNotFoundExceptionをスローします、ファイル出力ストリームが自動的に作成されて存在していませんが、入力ストリームファイルが存在しなければならない場合は
、中間は各バイトが投げなかったと思われる場合2.は、1つのバイトを読みますこれは、文字化けをもたらすことができます
読みINT(バイト[] b)は
外部からのバイト配列の内容を読み取る使い捨て
2.各一回読んでは、実際に読んで長さを返します。
3の最後にファイルを読む-1
4.リードポインタはバイトアレイ部後方に移動されるたび
注意:
各読み取りの範囲を拡大し、しかしながら歪みが依然として存在しているので、バイトストリームは、バイトまたはバイト配列を読み取るが、GBKまたはUTF-8符号化テーブルは、中国二つまたは3バイトを表します確かに文字化けの可能なので、バイトストリーム処理の中国を推奨されていません。
InputStream is = new FileInputStream("d:\\test.txt");
byte[] bys = new byte[1024];
int len = 0;
while ((len = is.read(bys)) != -1) {
System.out.print(new String(new String(bys, 0, len)));
}
+出力ストリームにバイトのバイト入力ストリーム、コピーしたファイル
test.java - > test.txtの
データソース:test.java
目的地:test.txtの
方向:
ファイル - >メモリのFileInputStream
メモリ - >ファイルのFileOutputStream
コピーモード:
使い捨てのコピーバイト
バイト配列2.使い捨てのコピー
使い捨てのコピーバイト
/*
* 功能: 一次性拷贝一个字节拷贝文件
* 返回值类型 : void
* 参数列表: String srcFileName, String descFileName
* 方法名: copy
*/
public static void copy(String srcFileName, String descFileName) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(srcFileName);
fos = new FileOutputStream(descFileName);
int by = 0;
while ((by = fis.read()) != -1) {
fos.write(by);
fos.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
バイト配列2.使い捨てのコピー
/*
* 功能: 一次性拷贝一个字节数组拷贝文件
* 返回值类型 : void
* 参数列表: File srcFile, File descFile
* 方法名: copy
*/
public static void copy(File srcFile, File descFile, int capacity) {
try (FileInputStream fis = new FileInputStream(srcFile);
FileOutputStream fos = new FileOutputStream(descFile);) {
byte[] bys = new byte[capacity];
int len = 0;
while ((len = fis.read(bys)) != -1) {
fos.write(bys, 0, len);
fos.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}