私の名前はバイトストリームです、私は感情のないマシンです!

バイトストリーム

ここに画像の説明を挿入

FileOutStream

工法

FileOutputStream(ファイルファイル)指定されたFileオブジェクトによって表されるファイルを書き込むためのファイル出力ストリームを作成します。
FileOutputStream(FileDescriptor fdObj)は、指定されたファイル記述子に書き込まれるファイル出力ストリームを作成します。これは、ファイルシステム内の実際のファイルへの既存の接続を表します。
FileOutputStream(File file、boolean append)指定されたFileオブジェクトによって表されるファイルを書き込むためのファイル出力ストリームを作成します。
FileOutputStream(文字列名)指定された名前でファイルを書き込むためのファイル出力ストリームを作成します。
FileOutputStream(String name、boolean append)指定された名前でファイルを書き込むためのファイル出力ストリームを作成します。

一般的な方法

void close()このファイル出力ストリームを閉じて、このストリームに関連付けられているすべてのシステムリソースを解放します。
FileChannel getChannel()このファイル出力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。
FileDescriptor getFD()このストリームに関連付けられているファイル記述子を返します。
voidwrite(byte [] b)指定されたバイト配列のb.lengthバイトをこのファイル出力ストリームに書き込みます。
void write(byte [] b、int off、int len)オフセットoffから始まる指定されたバイト配列のlenバイトをこのファイル出力ストリームに書き込みます。
voidwrite(intb)指定されたバイトをこのファイル出力ストリームに書き込みます。

実装

package work.february.two.daily;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @Author: 小浪
 * @Description:
 * @Date Created in 2021-02-02 17:32
 * @Modified By:
 */
public class Demo4 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        FileOutputStream fileOutputStream =new FileOutputStream("D://a.txt");
        //int 类型
        fileOutputStream.write(65);
        //byte []类型
        byte [] bytes ={
    
    65,66,67,68};
        fileOutputStream.write(bytes);
        fileOutputStream.write(bytes,1,2);
        System.out.println("已经写出");
        fileOutputStream.close();
        //当不是同一个对象时 需要追加 true是追加
        FileOutputStream fileOutputStream1 =new FileOutputStream("D://a.txt",true);
        fileOutputStream1.write(100);
        fileOutputStream1.close();
    }
}

FileInputStream

コンストラクタ

FileInputStream(ファイルファイル)は、実際のファイルとの接続を開くことによってFileInputStreamを作成します。
ファイルは、ファイルシステム内のFileオブジェクトファイルによって名前が付けられます。FileInputStream(FileDescriptor fdObj)
は、ファイル記述子fdObjを使用して、ファイルシステム内の実際のファイルへの既存の接続を表すFileInputStreamを作成します。
FileInputStream(文字列名)は、実際のファイルとの接続を開くことによってFileInputStreamを作成します。
ファイルには、ファイルシステム内のパス名名によって名前が付けられます。

一般的な方法

int available()は、この入力ストリームを呼び出す次のメソッドによってブロックされることなく、この入力ストリームから読み取る(またはスキップする)ことができる残りのバイト数の見積もりを返します。
void close()このファイル入力ストリームを閉じて、ストリームに関連付けられているすべてのシステムリソースを解放します。
FileChannel getChannel()このファイル入力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。
FileDescriptor getFD()は、このFileInputStreamによって使用されているファイルシステム内の実際のファイルへの接続を表すFileDescriptorオブジェクトを返します。
int read()この入力ストリームから1バイトのデータを読み取ります。
intread(byte [] b)この入力ストリームからb.lengthバイト配列を読み取ります。b.lengthからb.lengthバイトまでのデータ。
intread(byte [] b、int off、int len)入力ストリームlenからlenバイトまでのデータをバイト配列に読み取ります。
long skip(long n)入力ストリームからnバイトのデータをスキップして破棄します。

実装:

package work.february.two.daily;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * @Author: 小浪
 * @Description:
 * @Date Created in 2021-02-02 18:25
 * @Modified By:
 */
public class Demo5 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        FileInputStream fileInputStream =new FileInputStream("D:\\a.txt");
        //一个字节一个字节读 读到末尾是 -1
        while (true){
    
    
            byte b = (byte) fileInputStream.read();
            if(b == -1){
    
    
                break;
            }else {
    
    
                System.out.println((char)b);
            }

        }
        fileInputStream.close();
    }
}

一連の読み取りはより信頼性があります

package work.february.two.daily;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * @Author: 小浪
 * @Description:
 * @Date Created in 2021-02-02 19:27
 * @Modified By:
 */
public class Demo6 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        //一组字节 读取
        FileInputStream fileInputStream =new FileInputStream("D://a.txt");
        byte [] bytes =new byte[5];
        int len =fileInputStream.read(bytes);
        System.out.println(new String(bytes,0,len));
         len =fileInputStream.read(bytes);
        System.out.println(new String(bytes,0,len));
        fileInputStream.close();
    }
}

ここに画像の説明を挿入
ナンセンスな時間:

お客様が食べ物が適切だと思ったら、無料のようにあげてもらえますか?ありがとうございました!スローウォーカーオフィサー!梱包して集めて、次回また来ることをお勧めします。Xiaoer QQ:309021573を購入して、嫌がらせへようこそ!

おすすめ

転載: blog.csdn.net/AzirBoDa/article/details/113571439