package Ġio . github . chen fe i 0 9 2 8 . repository . storage Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġjava . io . File Ċ import Ġjava . io . OutputStream Ċ Ċ /** Ċ Ġ* Ġ ä¸´ æĹ¶ æĸĩä»¶ å¯¼åĩº ä¿ĿåŃĺ éĢ»è¾ĳ Ċ Ġ* Ċ Ġ* Ġ@ author ĠChen Fe i ( chen fe i 0 9 2 8 @ gmail . com ) Ċ Ġ* Ġ@ date Ġ 2 0 1 9 - 1 2 - 1 8 Ġ 1 5 : 0 5 Ċ Ġ*/ Ċ class ĠT mp FileWriter Ġ: ĠContent Values Writer Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtmp File : ĠFile ĊĠĠĠ Ġprivate Ġvar Ġauto Delete Tmp File : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġparse Arg ( host : ĠFragment , Ġarg : ĠBundle ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . parse Arg ( host , Ġarg ) ĊĠĠĠĠĠĠĠ Ġarg Ġ?: Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġtmp FilePath Ġ= Ġarg . getString ( TMP _ FILE _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġtmp File Ġ= ĠFile ( tmp FilePath ) ĊĠĠĠĠĠĠĠ Ġ// Ġæ£Ģ æŁ¥ æĸĩä»¶ æĺ¯åĲ¦ åŃĺåľ¨ ĊĠĠĠĠĠĠĠ Ġif Ġ( tmp File . isDirectory Ġ|| Ġ! tmp File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġauto Delete Tmp File Ġ= Ġarg . getBoolean ( AUTO _ DELETE _ TMP _ FILE ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite ( output Stream : ĠOutputStream ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġå°Ĩ ä¸´ æĹ¶ æĸĩä»¶ åĨĻåħ¥ çĽ®æłĩ ĊĠĠĠĠĠĠĠ Ġtmp File . inputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. buffered () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. copy To ( output Stream ) ĊĠĠĠĠĠĠĠ Ġ// ĠåĪłéĻ¤ ä¸´ æĹ¶ æĸĩä»¶ ĊĠĠĠĠĠĠĠ Ġif Ġ( auto Delete Tmp File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp File . delete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTMP _ FILE _ PATH Ġ= Ġ" tmp FilePath " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠAUTO _ DELETE _ TMP _ FILE Ġ= Ġ" auto Delete Tmp File " ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate Bundle ( tmp File : ĠFile , Ġauto Delete Tmp File : ĠBoolean Ġ= Ġtrue ) Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( TMP _ FILE _ PATH , Ġtmp File . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( AUTO _ DELETE _ TMP _ FILE , Ġauto Delete Tmp File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ