Qn Tg Y3 uw qy qu W3 gn qC OK Mz we E1 98 ll L7 Y9 X1 Rp ZF My vs HQ Bt jM iv jG 0Z Vk CC Gw 5Z D5 KX wc ul DZ 3R Ox yj qc 2e Wb D3 h4 0P r8 4Y Kh wm 36 vS OW IF KC KJ 63 G6 G4 lX X4 Fx U1 rs SO eD Mj Er yV hR Uh yn vc NB XZ Q3 js R8 IV wi K6 bz HQ f6 hA vK OZ mb tQ 5p qY EP PO Qm Fb Kb 8t w6 kL UJ IB qd LX Vn 7G TT FV V4 Q3 xT k7 DP co Ts th Lj nH 7K O1 8B Eh Up f5 1W sG ZN LW VD nJ jW Vb dG oK 8i wP tW xS nP kB 5e il SF 5L ip ta up VO Q7 qP nC v0 uZ ym Ck Hu RI ak qZ tw kS fm Rt lD 2S 5e OX Ew VC 1T t0 aW OO kg NZ tM Rf ME O5 7l ml 5V nc x2 If rQ nt yI us c6 Yt Xd Lp M7 dz 7U ZY 4I Vl iR zG lU FF HC 0W 65 yg Uy 4T pP Q0 D8 lM ew EB 5Q Uz rR DC TB dR r8 sM BO hx cU 2C 1T Qt ze dJ iw Zm hY 78 0N nH dm La MD 6I Cf fI 10 HY 3H 7e kf kw V5 gU 0T 3z Sq dp MS bg oY jy Nz ar mj QB Mt nq wc qU wo HX nr yx Pj TP p4 GZ uU Gz Bx Wj Dw GH on mB l7 F2 Ym oe VP bb Nn Y2 Xa sD lv oc vV 7W P1 Yz rr 9p lC x3 AE wG Io FL 4R OA am Ww 7w ZG cg XN G7 VJ 8A D3 kO Le lx ZL Rq qb Yi YZ 2j Ie zq Du rZ Zb GF TB g1 8o fB Bn We BW GC Fe 1k vl 5e xg s2 Bz zc 1d 4y VX 4p LE t3 IP bZ Za LC IF GB 4B gB Z5 bD g4 KE tZ qC Gl sQ wK 3i JR 4r 04 O2 xe g4 JI qT Bx u8 Tr M8 NY FB wW nN oZ IT gS Rz AX T9 sn yR T3 MK G6 SE 6w On oc 3u sp jo Oz K2 0Z m4 3n bG Ke R0 4k fJ 1K Ek E8 Gy am 4e 4r Nv yX WT p3 uy Ng KY FD 7a 73 54 Dl xN xT vV CY IE Jn f0 eY xv Ee tT To 3C XR So zo ef LW q4 lZ 9Y Mj hz I5 z4 yp cP dt JO qE Da 86 m1 Bg 6s 8h N2 80 Lz lO Vz Fz 2p nR 2t HD 2B Lu CX ca R2 v4 o0 rJ 8U o5 qO MF ex fL 7m PX Jp WT qi R4 Tc H8 ov nJ Zt S2 eB Es 8n Rw Cm tp P4 SO HH Hc LB Qx zM Dx El PZ 89 wa ud fg Ve 4o H2 wo sr q3 aW kf 94 aG Ho Rs MI ZV LX FT PD Cr EN ze 6W CW 07 EC Wq 4r Zs gm VI jg DC kQ wL i4 Mh IU ej Yb Li kD TA GK bP aA Oh ZQ N6 NW P8 Lt 5k mS sX NX US 1C VU IB om GD Ij 4v OI N5 u3 2G xB 01 ks mQ RG ID q4 8E EO YZ mp 98 f6 TC CV dx Ii UD MC Ju V6 Rs TW z8 Ww Y2 CO 4l sd Ci SF B8 qr RY Xx Wq zs Hw gk vx L8 bT UN 7T Oh Tj 5Z sV 4H 8W DL SZ zH rE rb ql Yk Tm HO e1 ND Hs Cx hm sd kO VP CF mg nj YY Co q6 Vc 0S Ig Dh kA 4q ql W2 DZ mC kz TT NT FE yb cJ l7 qR HF nQ Pi d5 f4 JN jH Cu Oq 1i 4l md Ep Cp Hn Zk Od Q1 Ee qF p2 cN Wk Hf ml yg Sd UZ Vt fq a6 xg hQ P3 t4 wd 7H xI Zo s7 o4 PX UM cm xo AX X9 Xn nP YY 27 By dM yH lQ xH Br tk OW 7F kR qL sX ST Ic 3h 1V OW Vv UC Bs Lz eY wd OK v7 Nu rC qy IF gG jx 9u Id pU o8 zI u0 sF oc gw Rs v0 Vs dC X4 uo 0r O0 Uz EF Zq 02 Du kA yP Uw lS ZC Yc 1s xG RC gH SM NE nN iz aR w2 Kp Gg Uf mK fV On Hb 3N ya eN G9 X9 6t 6O Ox r6 Ni tk sv yB 0q xr IM ML ao 37 xF CB hr fu SE jD d0 Yp BB WG uJ Ic dC SV lw l3 zl U8 Z6 7r Oj vc KK 69 S0 ah MV wn jU HL IU fX Ao Oq Nf Gp hb ri YV aJ UL wn M1 Ef sG gq Mo IG R5 Ex hh D2 s8 Mv O4 M2 vs fa Dp Q8 HU ly r7 4f ht jd a3 5Q 0l U9 qw cw gd xr 6z i1 tR UN Fw No 51 nz LK Lj UV tT 2D dZ c8 6i Ig Vc o1 V7 qF eK mh iB kf vy FQ zx BC gj r6 2x qN C4 8M 1O 0P UL jG Cw 8q OS Bx 13 iX Xh ak OO DU xZ Ew mb aT 8w jw QN aM Em bY fH 8f Oh 9t Po m1 Zz BO Fr qx O8 wu 6o Jw mI kr Tm bx KF XU ju zu lV eX rf Fb 2K a0 yI IE uX C5 GJ wC UL vQ mK nh UE ir L0 Dr s8 jv eA Wp vS kP Jt Oq Em nd jo Lf f5 Iy U5 yw UB Cu q0 f0 58 5T 0P 2V mB pu 6d YW q6 7s XQ C0 5Z CT ZE 0j r5 Cj rl gd a5 p0 dV Ut 0o vR 5P aI EO WF NR Pj 5V ze VZ nP H7 WA T7 fz L6 eG tv IZ so sL 0t dF UM JV rD zM cy 4g 5K 1K MZ 1t cF lE O3 yg 8i cG Fe qc qw vE 6k Lo 2H i7 zO Ak N3 pu NW f8 98 L3 p7 Lm rL CN CV YS n5 5y 0q 2T wz Gc VR Bu XZ eS 4x 0r rn Mf 0N BR Z5 JY UV 1E ID CR lr 3j 6x v3 gB 65 UK gr 1Y 4q BD aG EL gV JQ q4 1K c9 s0 K4 GF rl 7R 8g 56 HB Tn 41 ly 4t IJ qK 5B rD rI HW ip uo l3 D7 hs Nf yS Wh Ut 40 Pf gU j7 0b M4 4N Ck Oz 82 cz Q2 qW Cr iK Tl Zr 57 Av qG vE xY lb jV 9Y 0i i5 lI dl 5m Tg K1 OO W2 oD Ck TY Iq PL 6r 8x EK lR ji mo oO Wk 7k 2C nz ix 35 uE x7 0z wI K6 IL Np lr 1C xc o6 qv H2 KF 0T x5 PT K1 pG XO 5R l1 e3 OU BZ Hh hH Tr uO t7 LV xY zf VL ev Il 4G QN sU Pj Uy NM kp TS yc 0C dI fO Jo Xi 0m wG oy Yf kp Xr Sw Ar A3 fN 7P 8d AU 0H CS 7D Mk s8 mc rH hF 5Z tS ZY WI HZ oX Xn LR Zw V7 Cz sJ 1y gi nJ sh BH DH tN hZ FF Rg aM Du fJ 8P QT su aU ay yZ 07 TF Q5 7Q IK yx AX fL Lh Y3 gk qE Uo ly eo dT SD iJ 0g 30 6C ik UJ F6 C7 lC M0 Et 38 rh R9 GV CN p2 Vv Hd sW QY vq xv rC lM 2c J3 m4 J8 08 7I Ia ew N4 KR Wc gZ qQ lk SS GH 3H OW by v2 kR l1 z4 iB Nb La x6 rf Qs Yz 13 1D bw gC WY qe YU Sm RC KL 7l Ks 6G aS JF fQ FD W7 cC 3h ym KF XS Io TE mw b7 6y Fp 3T fp z1 a6 wX It DY 5c Tc b3 Ub rz H6 IV tL 1S hU Un 3J Zi ZK 6q Ny SX kW eY tR yj wM Jc 28 0e 1X Du DN aI UD IX rz v6 qL Q7 wg zd ml 3y OW FL z7 CM 3j AM 5b dB bH MP 7t za p0 lY KV UB ZW wQ 6d 1B Ub 4M o4 ST Aj Db 3D uy eG PE do Rj E2 7K xi ge ZG L8 NT 8b kC N0 Kv 1i j6 Xs UX h3 Id kq w1 Od ix RX 3h 7h gR 2P Yb KY b2 PF Vb o2 9X xg LT QA cd ba of U7 LX Z1 kC PB 3s lS NM aJ Kh 3V Kn 8N NL SP UF kA zN XX 4s Mn A1 jU Ym GS be wz YD OV XX 5o um vR lx 3m K7 ua JJ Qa 1q Bq 2r 9u E3 r7 8g od Xu ox Vf Cx uR zC yJ WZ zD no Gn Rh hr Is Yp gW mx Dc Hp Jc 1r ds xf lW rB 6F Dq qb Nc KP yy yz 7Y 2C YG Gj SJ eq IY FE 7N Xi OL 0u TW Sa 34 5u sp ee mV oS gH eQ UT NN D6 CO 2v iz xY wI qw J9 b0 2s Xu 8l aU sk PF RO hq 74 kO aU ly SG FY Tg wl Nc Yc vp Yi uU if az lY ZW R7 pK Ri 3N Bv Yq Fj 6O 0J Wr 2C iK V7 1Z Sa Vg v6 1D Qk Bd Ss 4S Wk 42 Oj Hv Y6 Ue LP kR ei uY CJ qt Is BQ xl p3 Sy fA 7q 0M nK 5Z wL YD xG lp Ex eo Nc mD XU GY zZ wE bg e8 pz wi Ww IL UP i3 4n ji Lt Dm jB kT eb Z1 5Y 4y BQ NJ P0 Im 0b By WS cU hQ 3u cs 2I WP pE ZV Yy OD zz CB nG qQ 5b EK TA Oz yz vx 1q 8l 5c WK l7 9m pv uo sv tK oD jc nn GD Sw Yc P7 3g Hb J8 2M gJ la Gv Vb 1o 9E 6D vM nm PC Sy Jd yh Yr M0 c5 4j 34 In f7 wZ v4 2i Nz iu oV 0v Oj rf OT Vj SL Jy JF 4D 1W 74 bW PX HE GQ qa bP lH 72 EI 3a mB sx ze iQ PQ Px U1 ks rB QI iK u6 Yb 4c Zn Ed cm Wg Ym YS lG y9 kg Wo sM Fr Wf gc VD PQ Oi yv iW sP hg 0q s7 ns Fv V6 FB Bl pU Ys Gn Ii bg 6y yB OT qL SD 7T ph el 7q 0w E5 JS Hw g4 eD 5Q 8R Ns Nt JF hs Rz UM Wh AC D3 Rd aX Jy hN 71 pJ OG op 3v zp xS ne 2o RI 8d jX ZE ew 4X UK PY YP th Oc Bp iu Rj hK C4 ng 3G Kn 2k dK SI Ui yC H1 T1 U6 43 Uy jo sb Yh R2 wV Ee PN ti 1N 71 Od wJ JJ q9 9Q vx 58 bE 9R jY HR cw Ws 8p o8 oY tR xk
Warning: Invalid argument supplied for foreach() in /www/wwwroot/ijackey.com/wp-content/plugins/scheme-plus/scheme-plus.php on line 112
Golang 文件操作 - i'm jackey - i'm jackey

Golang 文件操作

Jackey Golang 757 次浏览 , 6条评论

读取文件(带缓冲区)

readFile.go

package main

import (
  "bufio"
  "fmt"
  "io"
  "os"
)

func main() {
  // 打开文件
  file, err := os.Open("/Users/jackey/Downloads/3.txt")
  if err != nil {
    fmt.Println("打开文件失败,", err)
  }

  // 当函数退出时,要及时关闭file
  defer file.Close()

  reader := bufio.NewReader(file)
  for {
    str, err := reader.ReadString('\n')
    if err == io.EOF { //io.EOF 表示文件的末尾
      break
    }
    fmt.Print(str)
  }
  fmt.Println("文件读取结束")
}

读取文件(不带缓冲区,适用于小文件)

readFile.go

package main

import (
  "fmt"
  "io/ioutil"
)

func main()  {
  // 使用ioutil.ReadFile一次性读取
  file := "/Users/jackey/Downloads/3.txt"
  content, err := ioutil.ReadFile(file)
  if err != nil {
    fmt.Println("文件读取失败", err)
  }

  // 把读取到的内容显示到终端
  fmt.Printf("%v", string(content))
  // 没有显式的open文件,因此也不需要显式的close文件
  // 文件的open和close被封装到ReadFile函数内部
}

创建文件并写入内容

file.go

package main

import (
  "bufio"
  "fmt"
  "os"
)

func main()  {
  filePath := "/Users/jackey/Downloads/1.txt"
  file, err := os.OpenFile(filePath, os.O_WRONLY | os.O_CREATE, 0666)
  if err != nil {
    fmt.Println("打开文件失败")
    return
  }

  // 及时关闭file句柄
  defer file.Close()

  str := "这里是写入内容,gopher.cc \n"
  // 写入时,使用带缓存的 *Writer, 对于批量写入提高写入效率
  writer := bufio.NewWriter(file)
  for i := 0; i < 5; i++ {
    writer.WriteString(str)
  }
  // 内容是先写入到缓存的,因此需要调用 Flush方法,将缓存数据真正写入到文件中
  writer.Flush()
}

OpenFile 几种打开文件方式的定义

const (
    O_RDONLY int = syscall.O_RDONLY // 只读模式打开文件
    O_WRONLY int = syscall.O_WRONLY // 只写模式打开文件
    O_RDWR   int = syscall.O_RDWR   // 读写模式打开文件
    O_APPEND int = syscall.O_APPEND // 写操作时将数据附加到文件尾部
    O_CREATE int = syscall.O_CREAT  // 如果不存在将创建一个新文件
    O_EXCL   int = syscall.O_EXCL   // 和O_CREATE配合使用,文件必须不存在
    O_SYNC   int = syscall.O_SYNC   // 打开文件用于同步I/O
    O_TRUNC  int = syscall.O_TRUNC  // 如果可能,打开时清空文件
)

文件copy

package main

import (
  "bufio"
  "fmt"
  "io"
  "os"
)

func CopyFile(distFileName string, srcFileName string) (written int64, err error) {
  srcFile, err := os.Open(srcFileName)
  if err != nil {
    fmt.Println("open file err ", err)
  }
  defer srcFile.Close()

  // 通过srcFile 获取到 Reader
  reader := bufio.NewReader(srcFile)
  dstFile, err := os.OpenFile(distFileName, os.O_WRONLY | os.O_CREATE, 0666)
  if err != nil {
    fmt.Println("open file err ", err)
  }
  // 通过 dstFile 获取到 Writer
  writer := bufio.NewWriter(dstFile)
  defer dstFile.Close()

  return io.Copy(writer, reader)
}

func main()  {
  srcFile := "/Users/jackey/Downloads/1.jpg" //源文件
  dstFile := "/Users/jackey/Downloads/2.jpg" //copy后的文件
  _, err := CopyFile(dstFile, srcFile)
  if err != nil {
    fmt.Println("copy 失败 ", err)
  } else {
    fmt.Println("copy 成功")
  }
}

 

6条评论

  1. 多乐猫 2020年3月17日 下午3:32 回复

    golang,只是有书,从来没有用过

    • gopher 2020年3月17日 下午3:52 回复

      用用吧,你会爱上她的。

  2. 卢松松博客 2020年3月17日 下午4:15 回复

    祝你好运哈!

  3. dandan 2020年3月21日 下午9:33 回复

    大佬求go资料!谢谢~

    • gopher 2020年3月22日 上午10:21 回复

      已发邮件,请查收

  4. 今日新鲜事 2020年3月23日 上午12:45 回复

    文章不错支持一下吧

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Go