package mainimport ( "os" "io" "io/IoUtil" "fmt" "bufio")var filename = "./output1.txt"var f *os.filevar err1 error/**创建文件夹*/func mkDir(descname string) error { return os.Mkdir(descname,os.ModeDir)}/** * 判断文件是否存在 存在返回 true 不存在返回false */func checkfileIsExist(filename string) (bool) { var exist = true if _,err := os.Stat(filename); os.IsNotExist(err) { exist = false } return exist}/**第一种方式: 使用 io.WriteString 写入文件*/func write_io_WriteString() { if checkfileIsExist(filename) { // 如果文件存在,则只打开文件 f,err1 = os.Openfile(filename,os.O_APPEND | os.O_RDWR,0666) // os.O_APPEND | os.O_RDWR 既有读写也有append属性 } else { f,err1 = os.Create(filename) } check(err1) io.WriteString(f,"第一个:\n") f.Sync() //f.Close()}/**第二种方式: 使用 IoUtil.Writefile 写入文件*/func write_IoUit_writefile() { var bt = []byte("第二个:\n") // 会覆盖掉文件原内容 err2 := IoUtil.Writefile(filename,bt,0666) check(err2)}/**第三种方式: 使用 file(Write,WriteString) 写入文件 */func write_file() { var bt = []byte("第三个:\n") f,err3 := os.Openfile(filename,0666) //创建文件 check(err3) defer f.Close() c,err3 := f.Write(bt) //写入文件(字节数组) fmt.Printf(string(c)) check(err3) f.Sync() f.Close()}/**第四种方式: 使用 bufio.NewWriter 写入文件 */func write_bufio_write() { w := bufio.NewWriter(f) //创建新的 Writer 对象 n4,err3 := w.WriteString("第四个:\n") fmt.Printf("写入 %d 个字节n",n4) w.Flush() check(err3) f.Sync() f.Close()}func main() { //e := mkDir("sff") //check(e) write_io_WriteString() //write_IoUit_writefile() write_file() write_bufio_write()}func check(e error) { if e != nil { panic(e) }}总结
以上是内存溢出为你收集整理的go 文件 *** 作全部内容,希望文章能够帮你解决go 文件 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)