(ゴー)12.ファイル操作

FUNCのOpenFile 
FUNCのOpenFile(名前文字列、フラグINT、パーマにFileMode)(ファイル*ファイル、ERRエラー)
CONST(
    O_RDONLY int型 = システムコールO_RDONLY  //ファイルを開くには、読み取り専用モード
     O_WRONLY int型 = システムコールO_WRONLY  //オープンファイル書き込み専用モード O_RDWR int型 = システムコールO_RDWR    //開くファイルを読み書きモードO_APPEND INT = システムコールO_APPEND  たときに//書き込みデータは、ファイルの最後に追加されO_CREATE INT = システムコールO_CREAT  何が新しいファイルを作成しますが存在しない場合は、// O_EXCL int型 = システムコールO_EXCL  //とO_CREATEファイルを使用して存在していなければなりませんO_SYNCをint型 = システムコールO_SYNCは // I / O同期するためのファイルを開くO_TRUNC INT = システムコールをO_TRUNC  //可能な場合は、ファイルの空のオープン)

 

 

1.// 5への書き込みを行う、新しいファイルを作成する「こんにちは、Golang!」

以下のための主要なパッケージ変更
のインポート(
    " FMT " 
    " BUFIO " 
    " OS "  

FUNCメイン(){ 
    
    // 新しいファイルを作成し、5 "!こんにちは、golang"と書かれている 
    = filePathに" D:/abc.txt " 
    ファイル、ERR: = os.OpenFile(filePathに、os.O_WRONLY | os.O_CREATE、0666 IF!ERR = nilの{ 
        fmt.Printf(" オープンERR =体積%\ N-ファイル" 、ERR)
         リターン 
    } 
    // 近いファイルハンドル
    延期File.close()
    :STR = " こんにちは、golangを!\ rを\ nは"  // \ R&LT \ N末端線
     // 書き込み、バッファリングされていないライターを使用して* 
    ライター:= bufio.NewWriter(ファイル)
     のための I:= 0 ; I < 10 ; I ++ { 
        writer.WriteString(STR)
    } 
    / / コンテンツが最初にキャッシュに書き込まれ、それはフラッシュメソッドを呼び出す必要があり、バッファされたデータは、ファイルに書き込まれている
    )(writer.Flush 

}

2.オリジナルコンテンツの追加コンテンツで既存のファイル、「これはテスト!」

メインパッケージ

のインポート(
    FMT 
    BUFIO 
    OS  

FUNCメインは(){ 
    
    // 、オリジナルの内容で追加コンテンツの既存のファイルを開いて「このテストです!」 
    filePathに:= D:/abc.txt 
    ファイル、ERR: = os.OpenFile(filePathに、os.O_WRONLY | os.O_APPEND、0666 IF!ERR = nilの{ 
        fmt.Printf(" オープンV ERR =%\ N-ファイル" 、ERR)
         リターン 
    } 
    // 近いですファイルハンドル
    延期File.close()
    :STR = "!このテスト\ R&LT \ N- IS "  // \ R&LT \ nは改行
     // 書き込み、バッファリングされていないライターを使用して* 
    =:ライターbufio.NewWriter(ファイル)
     のための I:= 0 ; I < 5。 私は++ { 
        writer.WriteString(STR)
    } 
    // コンテンツが最初にキャッシュに書き込まれ、フラッシュメソッドを呼び出す必要があり、バッファリングされたデータがファイルに書き込まれ
    writer.Flush()

}

3.ファイルを開くには、元のコンテンツを読み出し、胡存在し、その後、追加の5行のハローワールド!

 
 
パッケージメイン


インポート(
    "BUFIO"
    "OS"
    "FMT"
    "IO"

FUNCのmain(){
    filePathに:= "D:/abc.txt"
    ファイル、ERR:= os.OpenFile(filePathに、os.O_RDWR | os.O_APPEND、066)
    {ERR!= nilの場合
        fmt.Printf( "開いているファイルのERR =体積%\ n" は、ERR)
        リターン
    }

    延期file.Close()

    リーダー:= bufio.NewReader(ファイル)
    にとって {
        STR、ERR:= reader.ReadString( '\ n' は)
        もしERR == io.EOF {
            ブレーク
        }
        fmt.Print(STR)
    }


    STR:= "!こんにちは世界\ rを\ n" は
    ライター:= bufio.NewWriter(ファイル)
    iについて:= 0; I <5。I ++ {
        writer.WriteString(STR)

    }
    writer.Flush()

}
 

 

おすすめ

転載: www.cnblogs.com/lvcisco/p/12151034.html