ai自动代码评审日志记录
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

鏍规嵁鎻愪緵鐨凣it diff璁板綍锛屼互涓嬫槸瀵逛唬鐮佹洿鏀圭殑璇勫锛歕n

璇勫瑕佺偣锛歕n

  1. 浠g爜娉ㄩ噴锛歕n - 鍦ㄧ涓�娆℃洿鏀逛腑锛屾敞閲婁腑缂哄皯绌烘牸锛岃繖鍙兘浼氬紩璧锋牸寮忎笉涓�鑷寸殑闂锛屽苟涓斿奖鍝嶄唬鐮佺殑鍙鎬с�俓n - 寤鸿娣诲姞涓�涓┖鏍兼潵淇濇寔浠g爜椋庢牸鐨勪竴鑷存�с�俓n
  2. 浠g爜閫昏緫锛歕n - 鍦╜diffFormatter.format(diff)涔嬪悗锛岀洿鎺ュ皢outputStream.toString("UTF-8")鐨勭粨鏋滆拷鍔犲埌diffStringBuilder銆傝繖绉嶅仛娉曞彲鑳藉瓨鍦ㄦ綔鍦ㄧ殑闂锛屽洜涓篳outputStream琚垵濮嬪寲涓哄鐞嗙壒瀹氳緭鍑猴紝鑰屼笉鏄叏灞�杈撳嚭銆俓n - outputStream.reset()琚皟鐢ㄦ潵娓呯┖杈撳嚭娴侊紝浠ョ‘淇濅笅涓�涓猔diff鐨勭粨鏋滀笉浼氫笌褰撳墠缁撴灉娣峰悎銆傝繖鏄繀瑕佺殑锛屼絾濡傛灉format`鏂规硶宸茬粡姝g‘澶勭悊浜嗚緭鍑烘祦锛岄偅涔堣繖涓噸缃彲鑳芥槸涓嶅繀瑕佺殑銆俓n
  3. 鎬ц兘鑰冭檻锛歕n - 鍦ㄥ惊鐜腑锛屾瘡娆¤凯浠i兘閫氳繃toString("UTF-8")灏嗗瓧鑺傛祦杞崲涓哄瓧绗︿覆锛岃繖鍙兘浼氬鍔犱笉蹇呰鐨勫唴瀛樹娇鐢ㄥ拰璁$畻寮�閿�銆傚彲浠ヨ�冭檻浣跨敤涓�涓洿楂樻晥鐨勫瓧绗︿覆鏋勫缓鏂瑰紡銆俓n

璇勫寤鸿锛歕n

  • 浠g爜娉ㄩ噴锛歕n java // 灏嗗瓧鑺傛祦杞崲涓� UTF-8 瀛楃涓瞈n

  • 浠g爜閫昏緫锛歕n - 濡傛灉format鏂规硶宸茬粡灏嗚緭鍑烘牸寮忓寲涓篣TF-8缂栫爜鐨勫瓧绗︿覆锛屽苟涓旀瘡娆¤皟鐢ㄥ悗杈撳嚭娴佽娓呯┖锛岄偅涔坄outputStream.toString("UTF-8")鍙兘涓嶆槸蹇呴渶鐨勩�傚彲浠ョ洿鎺ヤ娇鐢╜outputStream鐨勫唴瀹广�俓n

    for (DiffEntry diff : diffs) {
        diffFormatter.format(diff);
        diffStringBuilder.append(outputStream.toString()).append("\n");
        outputStream.reset();  // 娓呯┖杈撳嚭娴佷互缁х画澶勭悊涓嬩竴涓� diff
    }
    
  • 鎬ц兘鑰冭檻锛歕n - 濡傛灉纭疄闇�瑕佸皢杈撳嚭杞崲涓哄瓧绗︿覆锛屽彲浠ヨ�冭檻浣跨敤StringBuffer浠f浛StringBuilder锛屽洜涓篳StringBuffer`鏄嚎绋嬪畨鍏ㄧ殑锛屽敖绠″湪杩欎釜鍦烘櫙涓畠鍙兘涓嶆槸蹇呴渶鐨勩�俓n

    StringBuffer 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爜閫昏緫锛屽苟鑰冭檻鎬ц兘浼樺寲鏄繘琛屼唬鐮佽瘎瀹℃椂鐨勫叧閿儴鍒嗐��