You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.1 KiB
3.1 KiB
鏍规嵁鎻愪緵鐨凣it diff璁板綍锛屼互涓嬫槸瀵逛唬鐮佹洿鏀圭殑璇勫锛歕n
璇勫瑕佺偣锛歕n
- 浠g爜娉ㄩ噴锛歕n - 鍦ㄧ涓�娆℃洿鏀逛腑锛屾敞閲婁腑缂哄皯绌烘牸锛岃繖鍙兘浼氬紩璧锋牸寮忎笉涓�鑷寸殑闂锛屽苟涓斿奖鍝嶄唬鐮佺殑鍙鎬с�俓n - 寤鸿娣诲姞涓�涓┖鏍兼潵淇濇寔浠g爜椋庢牸鐨勪竴鑷存�с�俓n
- 浠g爜閫昏緫锛歕n - 鍦╜diffFormatter.format(diff)
涔嬪悗锛岀洿鎺ュ皢
outputStream.toString("UTF-8")鐨勭粨鏋滆拷鍔犲埌
diffStringBuilder銆傝繖绉嶅仛娉曞彲鑳藉瓨鍦ㄦ綔鍦ㄧ殑闂锛屽洜涓篳outputStream
琚垵濮嬪寲涓哄鐞嗙壒瀹氳緭鍑猴紝鑰屼笉鏄叏灞�杈撳嚭銆俓n -outputStream.reset()
琚皟鐢ㄦ潵娓呯┖杈撳嚭娴侊紝浠ョ‘淇濅笅涓�涓猔diff鐨勭粨鏋滀笉浼氫笌褰撳墠缁撴灉娣峰悎銆傝繖鏄繀瑕佺殑锛屼絾濡傛灉
format`鏂规硶宸茬粡姝g‘澶勭悊浜嗚緭鍑烘祦锛岄偅涔堣繖涓噸缃彲鑳芥槸涓嶅繀瑕佺殑銆俓n - 鎬ц兘鑰冭檻锛歕n - 鍦ㄥ惊鐜腑锛屾瘡娆¤凯浠i兘閫氳繃
toString("UTF-8")
灏嗗瓧鑺傛祦杞崲涓哄瓧绗︿覆锛岃繖鍙兘浼氬鍔犱笉蹇呰鐨勫唴瀛樹娇鐢ㄥ拰璁$畻寮�閿�銆傚彲浠ヨ�冭檻浣跨敤涓�涓洿楂樻晥鐨勫瓧绗︿覆鏋勫缓鏂瑰紡銆俓n
璇勫寤鸿锛歕n
-
浠g爜娉ㄩ噴锛歕n
java // 灏嗗瓧鑺傛祦杞崲涓� UTF-8 瀛楃涓瞈n
-
浠g爜閫昏緫锛歕n - 濡傛灉
format
鏂规硶宸茬粡灏嗚緭鍑烘牸寮忓寲涓篣TF-8缂栫爜鐨勫瓧绗︿覆锛屽苟涓旀瘡娆¤皟鐢ㄥ悗杈撳嚭娴佽娓呯┖锛岄偅涔坄outputStream.toString("UTF-8")鍙兘涓嶆槸蹇呴渶鐨勩�傚彲浠ョ洿鎺ヤ娇鐢╜outputStream
鐨勫唴瀹广�俓nfor (DiffEntry diff : diffs) { diffFormatter.format(diff); diffStringBuilder.append(outputStream.toString()).append("\n"); outputStream.reset(); // 娓呯┖杈撳嚭娴佷互缁х画澶勭悊涓嬩竴涓� diff }
-
鎬ц兘鑰冭檻锛歕n - 濡傛灉纭疄闇�瑕佸皢杈撳嚭杞崲涓哄瓧绗︿覆锛屽彲浠ヨ�冭檻浣跨敤
StringBuffer
浠f浛StringBuilder
锛屽洜涓篳StringBuffer`鏄嚎绋嬪畨鍏ㄧ殑锛屽敖绠″湪杩欎釜鍦烘櫙涓畠鍙兘涓嶆槸蹇呴渶鐨勩�俓nStringBuffer diffStringBuffer = new StringBuffer(); for (DiffEntry diff : diffs) { diffFormatter.format(diff); diffStringBuffer.append(outputStream.toString()).append("\n"); outputStream.reset(); } String diffContent = diffStringBuffer.toString();
鎬荤粨锛歕n
涓婅堪寤鸿鏃ㄥ湪鎻愰珮浠g爜鐨勫彲璇绘�с�佹晥鐜囧拰姝g‘鎬с�傜‘淇濇敞閲婄殑涓�鑷存�э紝瀹℃煡浠g爜閫昏緫锛屽苟鑰冭檻鎬ц兘浼樺寲鏄繘琛屼唬鐮佽瘎瀹℃椂鐨勫叧閿儴鍒嗐��