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()
}