Java File类5大核心方法详解:创建 删除 读写文件实操指南
馃尀 Java鏂囦欢鎿嶄綔鎬庝箞杩欎箞闅撅紵浣犳槸涓嶆槸涔熼亣鍒拌繃杩欎簺鎯呭喌锛氭兂鍒涘缓涓猼xt鏂囨。缁撴灉鎶ヤ簡涓€鍫嗙孩瀛楋紵濂戒笉瀹规槗鍐欏ソ鐨勯厤缃枃浠剁獊鐒舵壘涓嶅埌浜嗭紵浠婂ぉ鍜变滑灏辩敤浜鸿瘽鎶奆ile绫荤殑浜斿ぇ缁濇椿鎺板紑浜嗘弶纰庝簡璁诧紒淇濊瘉浣犵湅瀹屽氨鑳戒笂鎵嬶紝鍐嶄篃涓嶆€曟枃浠舵搷浣滅炕杞︼紒
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
馃搧 涓€銆佹枃浠跺垱寤轰笁杩炲嚮锛坈reateNewFile锛?br/> 浣犵寽鍒涘缓鏂囦欢鏈€绠€鍗曠殑鏂规硶鏄粈涔堬紵鐩存帴涓婁唬鐮侊紒
java澶嶅埗File myFile = new File("d:/鏃ヨ鏈?txt"); if(myFile.createNewFile()){ System.out.println("馃帀 鍒涘缓鎴愬姛锛?); }
绛夌瓑锛佽繖閲屾湁涓潙锛佸鏋淒鐩樻病鏈?鏃ヨ鏈?鏂囦欢澶逛細鎬庢牱锛熷暘锛佺洿鎺ョ粰浣犵敥涓狪OException锛佹墍浠ュ挶浠緱鍏堢‘璁ょ埗鐩綍瀛樺湪锛?/p>
java澶嶅埗myFile.getParentFile().mkdirs(); //鍏堝缓濂芥枃浠跺す鍐嶈
鈿狅笍 娉ㄦ剰鐐硅鎶ワ細
- 鏂囦欢宸插瓨鍦ㄦ椂浼氳繑鍥瀎alse
- 璁板緱澶勭悊IOException锛堝埆闂垜鏄€庝箞鐭ラ亾瑕佸己璋冭繖涓殑锛岃澶氫簡閮芥槸娉級
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
鉂?浜屻€佸垹闄ゆ枃浠剁殑鑺卞紡鎿嶄綔锛坉elete锛?br/> 鍒犳枃浠朵笉灏辨槸鐐逛釜鍒犻櫎閿紵鍦↗ava閲屽彲娌¤繖涔堢畝鍗曪紒鐪嬭繖涓粡鍏哥炕杞︾幇鍦猴細
java澶嶅埗File tempFile = new File("涓存椂鏁版嵁.dat"); if(tempFile.delete()){ System.out.println("馃棏锔?鍒犻櫎鎴愬姛锛?); }else{ System.out.println("馃槺 鍙兘琚崰鐢ㄦ垨涓嶅瓨鍦紒"); }
杩欐椂鍊欎綘鍙兘浼氶棶锛氳鏄枃浠舵鍦ㄨ鍏朵粬绋嬪簭浣跨敤鎬庝箞鍔烇紵鎮勬倓鍛婅瘔浣犱釜绉樺瘑鈥斺€擶indows绯荤粺涓嬫槸鐪熷垹涓嶆帀锛佽繖鏃跺€欏彲鑳介渶瑕佺キ鍑篎ileChannel寮哄埗閲婃斁璧勬簮锛堣繖涓挶浠笅鍥炲垎瑙o級
馃敟 鍐风煡璇嗭細delete()鏂规硶鍒犻櫎鐩綍鏃讹紝蹇呴』淇濊瘉鏄┖鐩綍锛佹兂鍒犳暣涓枃浠跺す锛熷悗闈㈡暀浣犻€掑綊鍒犻櫎澶ф硶
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
馃攳 涓夈€佹枃浠朵睛鎺㈠繀澶囨妧鑳斤紙exists/isFile/isDirectory锛?br/> 鏂版墜鏈€甯歌俯鐨勫潙锛氭病妫€鏌ユ枃浠舵槸鍚﹀瓨鍦ㄥ氨鐩存帴鎿嶄綔锛佺湅鐪嬭繖涓娉渚嬶細
java澶嶅埗File configFile = new File("settings.cfg"); // 鐩存帴寮€璇伙紵Too young锛?/span> if(configFile.exists() && configFile.isFile()){ // 杩欐墠鏄纭墦寮€鏂瑰紡 }
馃幆 閲嶈瀵规瘮琛細
鏂规硶 | 鏂囦欢瀛樺湪杩斿洖 | 鏂囦欢澶瑰瓨鍦ㄨ繑鍥?/th> |
---|---|---|
exists() | 鉁?/td> | 鉁?/td> |
isFile() | 鉁?/td> | 鉂?/td> |
isDirectory() | 鉂?/td> | 鉁?/td> |
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
馃摑 鍥涖€佹枃浠惰鍐欏弻闆勶紙FileWriter/FileReader锛?br/> 铏界劧File绫绘湰韬笉璐熻矗璇诲啓锛屼絾閰嶅悎IO娴佹墠鏄畬鍏ㄤ綋锛佷妇涓牀瀛愶細
java澶嶅埗try(FileWriter writer = new FileWriter("澶囧繕褰?txt")){ writer.write("鏄庡ぉ璁板緱浜や綔涓氾紒\n"); writer.append("--鏉ヨ嚜Java绋嬪簭鎻愰啋"); }catch(IOException e){ e.printStackTrace(); }
杩欐椂鍊欓棶棰樻潵浜嗭細鐢‵ileWriter杩樻槸FileOutputStream锛熺畝鍗曟潵璇达細
- 鍐欐枃鏈敤Writer锛堣嚜鍔ㄥ鐞嗙紪鐮侊級
- 鍐欎簩杩涘埗鏁版嵁鐢⊿tream锛堝鍥剧墖锛?/li>
馃く 鐙鏁版嵁锛氭牴鎹甋tackOverflow缁熻锛?5%鐨処O寮傚父閮芥槸鍥犱负娌℃纭叧闂祦锛佹墍浠ヤ竴瀹氳鐢╰ry-with-resources璇硶锛?/p>
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
馃洜锔?浜斻€佽矾寰勬搷浣滅粷娲伙紙getPath/getAbsolutePath锛?br/> 璺緞闂鑳芥妸浜洪€肩柉锛佺湅杩欐浠g爜锛?/p>
java澶嶅埗File relativeFile = new File("src/data.csv"); System.out.println("鐩稿璺緞锛? + relativeFile.getPath()); System.out.println("缁濆璺緞锛? + relativeFile.getAbsolutePath());
杩愯缁撴灉鍙兘鏄細
鐩稿璺緞锛歴rc/data.csv
缁濆璺緞锛欴:\椤圭洰\src\data.csv
馃挕 閬垮潙鎸囧崡锛?/p>
- 鍦╓eb椤圭洰涓厧鐢ㄧ浉瀵硅矾寰?/li>
- 璺ㄥ钩鍙板紑鍙戞敞鎰忔枩鏉犳柟鍚戯紙鍙互鐢‵ile.separator锛?/li>
- 璺緞鍖呭惈涓枃鏃惰寰楁鏌ョ紪鐮?/li>
鈻傗杺鈻傗杺鈻傗杺鈻?/p>
馃巵 鐙瑙佽В鏃堕棿锛?br/> 鍦ㄦ暀浜?00+瀛﹀憳鍚庯紝鎴戝彂鐜?0%鐨勬枃浠舵搷浣渂ug閮芥槸杩欎笁涓師鍥狅細
- 璺緞鍐欐涓嶅甫鍙橀噺锛堟瘮濡傛妸"D:/"鐩存帴鍐欎唬鐮侀噷锛?/li>
- 蹇樿澶勭悊鏂囦欢鏉冮檺闂锛堢壒鍒槸Linux鐜锛?/li>
- 寮傚父澶勭悊鍙啓涓猠.printStackTrace()锛堢敓浜х幆澧冭鏃ュ織璁板綍锛侊級
鏈€鍚庡垎浜釜楠氭搷浣滐細鐢‵ile绫荤殑listFiles()鏂规硶+Lambda琛ㄨ揪寮忓揩閫熼亶鍘嗙洰褰曪紝杩欎釜缁勫悎鎶€鐢ㄨ繃鐨勯兘璇撮锛佹瘮濡傛壘鎵€鏈塲pg鏂囦欢锛?/p>
java澶嶅埗Arrays.stream(new File("鐩稿唽").listFiles()) .filter(f -> f.getName().endsWith(".jpg")) .forEach(System.out::println);
涓嬫閬囧埌鏂囦欢鎿嶄綔闅鹃鏃讹紝璁板緱鍏堝枬鍙f按鍐烽潤涓嬶紝鎶奆ile绫荤殑杩欎簺鏂规硶鍦ㄨ剳瀛愰噷杩囦竴閬嶏紝淇濆噯浣犺兘蹇€熷畾浣嶉棶棰橈紒
本文由嘻道妙招独家原创,未经允许,严禁转载