package Ġcom . sen ierr . base . support . utils Ċ Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . math . BigDecimal Ċ Ċ /** Ċ Ġ* Ġæĸĩä»¶ å·¥åħ· ç±» Ċ Ġ* Ċ Ġ* Ġ@ author Ġzh ouch unj ie Ċ Ġ* Ġ@ date Ġ 2 0 1 7 / 4 / 2 1 Ċ Ġ*/ Ċ object ĠFile Util Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æĸĩä»¶çļĦ byte [] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Bytes ( file : ĠFile ?): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( file Ġ== Ġnull Ġ|| Ġ! file . exists ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġfis : ĠFileInputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġb os : ĠByteArrayOutputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfis Ġ= ĠFileInputStream ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠByteArray ( 1 0 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġn : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( fis . read ( b ). also Ġ{ Ġn Ġ= Ġit Ġ} Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb os . write ( b , Ġ 0 , Ġn ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġb os . toByteArray () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClose Util . close IO Quiet ly ( fis , Ġb os ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æĸĩä»¶ / æĸĩä»¶å¤¹ çļĦ å¤§å°ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget FileSize ( file : ĠFile ?): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( file Ġ== Ġnull Ġ|| Ġ! file . exists ()) Ġreturn Ġsize ĊĠĠĠĠĠĠĠ Ġif Ġ( file . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile List Ġ= Ġfile . list Files () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file List Ġ!= Ġnull Ġ&& Ġfile List . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( temp Ġin Ġfile List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ+= Ġget FileSize ( temp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ+= Ġfile . length () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsize ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ æĸĩä»¶ / æĸĩä»¶å¤¹ åıĬ åĨħå®¹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete File ( file : ĠFile ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( file Ġ== Ġnull Ġ|| Ġ! file . exists ()) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( file . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile List Ġ= Ġfile . list Files () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file List Ġ!= Ġnull Ġ&& Ġfile List . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( temp Ġin Ġfile List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= Ġdelete File ( temp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! success ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfile . delete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æł¼å¼ı åĮĸ åįķä½į ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Format Size ( size : ĠDouble ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġk ilo Byte Ġ= Ġsize Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġif Ġ( ki lo Byte Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" 0 B " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġme ga Byte Ġ= Ġk ilo Byte Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġif Ġ( mega Byte Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult 1 Ġ= ĠBigDecimal ( ki lo Byte . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult 1 . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Plain String () Ġ+ Ġ" KB " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġg iga Byte Ġ= Ġme ga Byte Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġif Ġ( g iga Byte Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult 2 Ġ= ĠBigDecimal ( mega Byte . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult 2 . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Plain String () Ġ+ Ġ" MB " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġt era Bytes Ġ= Ġg iga Byte Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġif Ġ( ter a Bytes Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult 3 Ġ= ĠBigDecimal ( g iga Byte . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult 3 . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Plain String () Ġ+ Ġ" GB " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult 4 Ġ= ĠBigDecimal ( ter a Bytes ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult 4 . set Scale ( 2 , ĠBigDecimal . ROUND _ HALF _ UP ). to Plain String () Ġ+ Ġ" TB " ĊĠĠĠ Ġ} Ċ } Ċ