鑷繁鍐檒s鍛戒护-Java鐗堜笂涓€绡囦粙缁峀inux鍛戒护绯诲垪ls-鍘熸潵鏈€绠€鍗曠殑ls杩欎箞澶嶆潅锛屾垜浠粩缁嗕粙缁嶄簡ls鍛戒护锛屾湰绡囨垜浠娇鐢↗ava浠g爜鑷繁瀹炵幇ls鍛戒护锛屼粠鑰屽ls鍛戒护鏈夋洿娣卞叆鐨勭悊瑙c€備唬鐮佸疄鐜版枃浠舵搷浣滅殑鍩烘湰鍘熺悊濡傛灉鎴戜滑鐢↗ava瀹炵幇涓€涓畝鍗曠殑ls鍛戒护锛屽叾瀹炲苟涓嶉毦锛屽洜涓篔ava宸茬粡涓烘垜浠彁渚涗簡涓€浜涙柟渚跨殑鏂囦欢绯荤粺鐩稿叧鐨凙PI銆傞毦鐐瑰湪浜庣悊瑙PI鍦ㄥ仛浠€涔堛€傚効瀛愶紒鍏跺疄杩欎簺API閮芥槸鎿嶄綔绯荤粺鎻愪緵缁欐垜浠殑锛岀劧鍚嶫ava灏佽浜嗕竴绯诲垪鐨勬搷浣滄潵涓烘垜浠彁渚涜繖浜涙搷浣溿€傝鎴戜滑浠旂粏鐪嬬湅灏佽绾у埆銆傞鍏堬紝鎿嶄綔绯荤粺浼氫负鎴戜滑鎻愪緵寰堝绯荤粺璋冪敤銆傚浜庝笌璁惧锛堢鐩樸€丆PU锛夌殑浜や簰锛屼緥濡備笌鏂囦欢鐨勪氦浜掑氨鏄鍐欐暟鎹€傚綋鐒舵垜浠殑Java绋嬪簭涔熼渶瑕佽繖浜涙搷浣滐紝鎵€浠VM涔熼渶瑕佷负鎴戜滑鎻愪緵杩欎簺鎿嶄綔锛屾墍浠VM杩涜绯荤粺璋冪敤銆備竴绯诲垪鐨勫皝瑁咃紝鍦↗ava涓殑鍏蜂綋褰㈠紡灏辨槸鍘熺敓淇グ鐨勬柟娉曘€傚鏋滀綘鏄竴涓湁缁忛獙鐨凧ava绋嬪簭鍛橈紝浣犱竴瀹氳杩嘕ava涓殑鏈湴鏂规硶銆傝繖浜涙柟娉曟槸Java涓烘垜浠皝瑁呯殑搴曞眰鎺ュ彛銆傛瘮濡侳ileInputStream涓湁涓€涓猺ead鏂规硶锛屽氨鏄鍙栨枃浠朵腑鐨勬暟鎹€傚唴瀹癸紝鎴戜滑鏉ョ湅鐪嬭繖涓柟娉曟槸濡備綍瀹炵幇鐨勶細publicintread()throwsIOException{returnread0();}杩欓噷涓轰簡璁╁ぇ瀹舵劅鍙楁洿娣变竴鐐桂煒傦紝鎴戝湪杩欓噷璐翠竴寮燜ileInputStream鐨勬簮鐮佸浘锛氫粠涓婇潰鐨勫浘鍙互鐪嬪嚭锛屽綋鎴戜滑璋冪敤FileInputStream鏂规硶鐨勬椂鍊欙紝纭疄鏄皟鐢ㄤ簡native鏂规硶銆備笅闈㈡垜浠潵鐪嬩竴浜涗笌鏂囦欢鎿嶄綔鐩稿叧鐨凙PI銆傚畠浠篃鏄娇鐢↗ava灏佽鐨勬湰鍦版柟娉曞疄鐜扮殑銆備笂闈富瑕佽浜嗕竴浜涘熀鏈殑鏂囦欢鎿嶄綔娴佺▼鐨勫師鐞嗭紝绠€鍗曡鏄庝簡Java灏嗗緢澶氱郴缁熸搷浣滃皝瑁呮垚native鏂规硶渚涙垜浠皟鐢ㄣ€備笅闈㈡垜浠潵鐪嬬湅瀹炵幇ls鍛戒护闇€瑕佸摢浜汚PI銆傛鏌ョ洰褰曚笅鏈夊摢浜涙枃浠跺拰鐩綍銆侸ava涓烘垜浠彁渚涗簡涓€涓被File銆傛垜浠彲浠ヤ娇鐢ㄨ繖涓被鏉ヨ幏鍙栨煇涓洰褰曚笅鏈夊摢浜涙枃浠跺拰鐩綍銆俻ublicvoidfileTest(){Filefile=newFile("./");//file.listFiles()鑾峰彇褰撳墠鏂囦欢瀵瑰簲鐩綍涓嬬殑鎵€鏈夋枃浠跺拰鐩綍for(FilelistFile:file.listFiles()){System.out.println(listFile.getName());//鎵撳嵃鏂囦欢鎴栫洰褰曠殑鍚嶇О}鏌ョ湅鏂囦欢鍜岀洰褰曠殑鍏冩暟鎹甁ava涓负鎴戜滑鎻愪緵浜嗕竴涓伐鍏风被鏉ユ煡鐪嬫枃浠剁殑涓€浜涘厓淇℃伅锛坢etadata锛夛紝姣斿uid锛堢敤鎴穒d锛夛紝gid锛堢敤鎴风粍锛塱d锛夛紝鏂囦欢鐨勫ぇ灏忓拰鏂囦欢鐨勯摼鎺ユ暟锛坣link锛夈€傝矾寰刾ath=Paths.get(".");System.out.println(Files.getAttribute(path,"unix:dev"));//鎵撳嵃瀛樺偍褰撳墠鐩綍鏁版嵁鐨勮澶囩殑璁惧idSystem.out.println(Files.getAttribute(path,"unix:ino"));//鎵撳嵃骞跺瓨鍌ㄥ綋鍓嶇洰褰曟暟鎹殑inode鍙稴ystem.out.println(Files.getAttribute(path,"unix:mode"));//鎵撳嵃骞跺瓨鍌ㄥ綋鍓嶇洰褰曟暟鎹鏁版嵁鐨勬ā寮忔暟鎹富瑕佺敤浜庢寚绀烘枃浠剁殑绫诲瀷System.out.println(Files.getAttribute(path,"unix:uid"));//鎵撳嵃骞跺瓨鍌ㄥ睘浜庡綋鍓嶇洰褰曠殑鐢ㄦ埛鐨勭敤鎴锋爣璇哠ystem.out.println(Files.getAttribute(path,"unix:gid"));//鎵撳嵃骞跺瓨鍌ㄥ綋鍓嶇洰褰曟墍灞炵粍鐨勭粍idSystem.out.println(Files.getAttribute(path,"unix:size"));//鎵撳嵃瀛樻斁褰撳墠鐩綍鏁版嵁鍗犵敤绌洪棿鐨勫ぇ灏廠ystem.out.println(Files.getAttribute(path,"unix:nlink"));//鎵撳嵃瀛樻斁褰撳墠鐩綍鏁版嵁鐨勯摼鎺ユ暟闄や簡涓婇潰鐨勬柟娉曪紝鎴戜滑杩樺彲浠ヤ娇鐢ㄤ笅闈㈢殑鏂规硶鏉ヨ幏鍙栨枃浠剁殑鍏冩暟鎹細publicvoidattrTest02()throwsIOException{Pathpath=Paths.get(".");//浼犲叆鐨勫弬鏁版槸鏂囦欢鎴栫洰褰曠殑璺緞銆傝繖鏄綋鍓嶇洰褰昉osixFileAttributesattr=Files.readAttributes(path,PosixFileAttributes.class,NOFOLLOW_LINKS);System.out.println锛堝睘鎬с€傛墍鏈夎€咃紙锛夛級;//鎵撳嵃鐢ㄦ埛鍚峉ystem.out.println(attr.group());//鎵撳嵃鐢ㄦ埛缁勫悕System.out.println(attr.isRegularFile());//鏄惁鏄€氱敤鏂囦欢绯荤粺銆俹ut.println(attr.isSymbolicLink());//鏄笉鏄鍙烽摼鎺ystem.out.println(attr.isDirectory());//鏄洰褰昐ystem.out.println(attr.isOther());//鍏朵粬绫诲瀷System.out.println(attr.permissions());//鎵撳嵃鏂囦欢鐨勬潈闄愭槸鍚﹀彲璇汇€佸彲鍐欍€佸彲鎵цSystem.out.println(attr.lastAccessTime());//涓婃璁块棶鏃堕棿System.out.println(attr.creationTime());//鍒涘缓鏃堕棿System.out.println(attr.lastModifiedTime());//鏈€鍚庝慨鏀规椂闂碨ystem.out.println(attr.fileKey());//鎵撳嵃鏂囦欢鍏朵粬鐩稿叧鍙傛暟涓昏鏄澶噄d鍜宨node鍙稴ystem.out.println(attr.size());//鏂囦欢澶у皬}root//杩欓噷鏄敤鎴峰悕root//杩欓噷鏄敤鎴风粍鍚峟alsefalsettruefalse[GROUP_READ,OTHERS_EXECUTE,OWNER_WRITE,OWNER_EXECUTE,OTHERS_READ,OWNER_READ,GROUP_EXECUTE]2022-10-09T18:08:47.791072133Z2022-10-09T13:10:51Z2022-10-09T18:08:23.746949182Z(dev=1000012,ino=16176823)192鏂囦欢鏉冮檺鍦↗ava涓粰鎴戜滑鎻愪緵浜嗕竴涓被鏉ヨ〃绀烘枃浠剁殑9绉嶆潈闄愶紙绗旇€呯殑璇诲啓鏉冮檺锛夋墽琛岋紝浣滆€呯粍璇诲啓鎵ц锛屽叾浠栦汉璇诲啓鎵ц锛屽叡涔濅釜鏉冮檺锛夛細packagejava.nio.file.attribute;publicenumPosixFilePermission{/***璇诲彇鏉冮檺锛屾墍鏈夎€呫€備綔鑰呰鍙栨潈闄?/OWNER_READ,/***鍐欏叆鏉冮檺锛屾墍鏈夎€呫€備綔鑰呭啓鏉冮檺*/OWNER_WRITE,/***鎵ц/鎼滅储鏉冮檺锛屾墍鏈夎€呫€備綔鑰呯殑鎵ц鏉冮檺*/OWNER_EXECUTE,/***璇绘潈闄愶紝缁勩€備綔鑰呮墍鍦ㄧ粍鐨勮鏉冮檺*/GROUP_READ,/***鍐欐潈闄愶紝缁勩€備綔鑰呯粍鐨勫啓鏉冮檺*/GROUP_WRITE,/***鎵ц/鎼滅储鏉冮檺锛岀粍銆?/GROUP_EXECUTE,/***璇诲彇鏉冮檺锛屽叾浠栥€備粬浜鸿鏉冮檺*/OTHERS_READ,/***鍐欐潈闄愶紝others.鍏朵粬鍐欐潈闄?/OTHERS_WRITE,/***鎵ц/鎼滅储鏉冮檺,others.Othersexecutepermissions*/OTHERS_EXECUTE;}褰撴煡鐪嬩笂闈竴涓枃浠舵垨鐩綍鐨勫厓鏁版嵁鏃讹紝鎴戜滑宸茬粡鑾峰彇鍒颁簡璇ユ枃浠剁殑鎵€鏈夋潈闄愪俊鎭細System.out.println(attr.permissions());//[GROUP_READ,OTHERS_EXECUTE,OWNER_WRITE,OWNER_EXECUTE,OTHERS_READ,OWNER_READ,GROUP_EXECUTE]鍑芥暟杩斿洖涓€涓泦鍚堬紝閲岄潰瀛樻斁浜嗘枃浠跺悇绉嶆潈闄愮殑淇℃伅銆傛瘮濡傛垜浠殑渚嬪瓙涓紝鍙互鐪嬪埌To锛屾湁缁勮锛屾湁鍒汉鎵ц锛屾湁浣滆€呰嚜宸卞啓锛屾湁浣滆€呮墽琛岋紝鏈夊埆浜鸿锛屾湁浣滆€呰銆傚鏋滄垜浠鍒ゆ柇鎵撶牬鏌愪釜鏉冮檺锛屽彧闇€瑕佹鏌ラ泦鍚堜腑鏄惁鍖呭惈瀹屾暣鐨勪唬鐮佸疄鐜颁笂闈㈠叧浜巐s鍛戒护鐨勫疄鐜扮粏鑺傛垜浠兘璇村畬浜嗭紝鏉ョ湅鐪嬫垜浠殑浠g爜瀹炵幇锛歩mportjava.io.File;importjava.io.IOException;importjava.nio.file.Files锛涘鍏ava.nio.file.Path锛涘鍏ava.nio.file.Paths锛涘鍏ava.nio.file.attribute.PosixFileAttributes锛涘鍏ava.nio.file.attribute.PosixFilePermission锛涘鍏ava.util.Objects锛涘鍏ava.util.Set;importstaticjava.nio.file.LinkOption.NOFOLLOW_LINKS;publicclassLS{publicstaticbooleanhasRight(Set
