השווה קבצי CSV ב-Java

כבר דנו בדרך הבסיסית כיצד להשוות בין שני קבצי CSV בתוך יישומי Java שלנו. היום, במאמר זה, נלמד עוד להשוות יותר משני CSV ב-Java. עוד נדון כיצד להשוות קבצי CSV מוגני סיסמה. לבסוף, יבדוק כיצד לקבל ולדחות את השינויים שנמצאו באמצעות ממשק API להשוואה ביישום Java.

הנושאים הבאים מכוסים להלן:

Java API להשוואת קבצי CSV

GroupDocs.Comparison מציגה את Java API המאפשר השוואה בין קבצי CSV עם אפשרויות שונות. אני אשתמש בו שוב כדי להשוות קבצי CSV בתוך יישום Java. בנוסף, הוא תומך בהשוואה של יותר משני קובצי CSV, קבלה ודחייה של השינויים שהתגלו, והשוואת קבצים מוגני סיסמה.

הורד והגדר

קבל את ספריית השוואת ה-CSV מהקטע הורדות. עבור יישומי Java מבוססי Maven, הוסף את התצורה הבאה בתוך pom.xml.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

דוגמאות הפעלה לתכונות שלה זמינות גם ב-GitHub. בקר בתיעוד ו-API Reference שלו לקבלת הדרכה.

השווה קבצי CSV ב-Java

ההשוואה הבסיסית של שני קבצי CSV באמצעות Java כבר נדונה במאמר נפרד. שם, בדקנו את קוד המקור של Java להשוואת הקבצים, קלט לדוגמה וקובץ הפלט של ההשוואה. אתה יכול לבקר במאמר הזה לפני שאתה מתקדם.

השווה יותר משני קובצי CSV ב-Java

אם הדרישה היא להשוות יותר משני קבצי CSV, זה די דומה מכיוון שאנו משווים רק שני קבצים. פשוט הוסף את הקובץ השלישי לאובייקט Comparer.

להלן השלבים להשוואה של יותר משני קבצי CSV ב-Java.

  • הפעל את המחלקה Comparer עם קובץ ה-CSV הראשון.
  • הוסף את הקובץ השני בשיטת ההוספה המתאימה.
  • באופן דומה, הוסף כמה שיותר קובצי CSV אחרים באמצעות שיטות ההוספה.
  • לבסוף, קרא לשיטת ההשוואה כדי לקבל את תוצאות ההשוואה.

קוד המקור של Java הבא משווה קבצי CSV מרובים. כתוצאה מתוצאות ההשוואה, הוא יוצר קבצי CSV ו-HTML נפרדים. קובץ הפלט של HTML מדגיש את השינויים שזוהו בצבעים שונים.

// השווה קבצי CSV מרובים (יותר מ-2) ב-Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
comparer.add("path/comma-separated-file-3.csv");
// ...
// ...
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

השווה קבצי CSV מוגני סיסמה ב-Java

ישנן אפשרויות זמינות שונות שניתן להשתמש בהן בעת טעינת מסמכים שונים. אם קבצי ה-CSV שלך מוגנים באמצעות סיסמה, תוכל לספק את הסיסמה בזמן הטעינה. שאר ההליך נשאר זהה עבור השוואה של מספר קבצי CSV המוגנים בסיסמה.

להלן השלבים כיצד להשוות קבצי CSV מוגני סיסמה ב-Java.

  • הכן את אפשרויות הטעינה באמצעות המחלקה LoadOptions והגדר את הסיסמה לפתיחת קובץ ה-CSV.
  • כעת טען את קובץ ה-CSV הראשון להשוואה תוך כדי אתחול המחלקה Comparer.
  • הוסף את הקובץ השני בשיטת ההוספה המתאימה.
  • באופן דומה, הוסף כמה שיותר קובצי CSV אחרים באמצעות כל אחת משיטות ההוספה.
  • לבסוף, הפעל את שיטת ההשוואה כדי לקבל את תוצאת ההשוואה של כל הקבצים שנוספו.

קוד המקור הבא משווה מספר קובצי CSV מוגני סיסמה ב-Java ויוצר את תוצאות ההשוואה.

// השווה קובצי CSV מוגני סיסמה באמצעות Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions("file1-password"));
comparer.add("path/comma-separated-file-2.csv", new LoadOptions("file2-password"));
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

קבל או דחה שינויים מזוהים של קבצי CSV ב-Java

בדיוק כמו תכונת השינויים במסלול של Microsoft Word המאפשרת לנו לקבל או לדחות את השינויים שנעשו בתוך המסמכים. אתה יכול ליישם את אותה תכונה בתוך יישומי Java. לאחר ביצוע השוואת הקבצים, תוכל לקבל או לדחות כל אחד מהשינויים שזוהו. להלן השלבים להשוואת קובצי CSV וקבלת או דחייה של השינויים שזוהו.

  • טען את קובצי המקור ואת קובצי ה-CSV היעד באמצעות המחלקה Comparer.
  • בצע את ההשוואה של הקבצים הטעונים בשיטת ההשוואה.
  • אחזר את השינויים שזוהו באמצעות שיטת getChanges.
  • כעת אתה יכול לעבור את השינויים ולהגדיר את פעולת ההשוואה שלהם בהתאם לכל שינוי.
    • עבור השינויים המוסכמים אתה יכול להגדיר אותו כקבל.
    • עבור השינויים שלא הסכימו אתה יכול להגדיר אותו כ-REJECT.
  • לבסוף, קרא לשיטת applicationChanges כדי לקבל את המסמך שנוצר עם השינויים שהוחלו.

קוד המקור של Java הבא משווה שני קובצי CSV ולאחר מכן מקבל ודוחה את השינויים שנמצאו.

// קבל או דחה שינויים שזוהו על ידי השוואת קובצי CSV ב-Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");

comparer.compare("path/comparison-result.csv");

ChangeInfo[] changes = comparer.getChanges();
changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);

comparer.applyChanges("path/comparison-result.csv", new SaveOptions(), new ApplyChangeOptions(changes));

קבל רישיון API בחינם

אתה יכול לקבל [רישיון זמני] בחינם7 כדי להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, היום למדנו את דרך Java כיצד להשוות בין שני קבצי CSV או יותר. לצד האפשרות לקבל ולדחות את השינויים שזוהו, למדנו גם להשוות בין קבצי CSV מוגני סיסמה בתוך יישומי Java.

אתה יכול למצוא אפשרויות רבות אחרות להתאמה אישית של תוצאות ההשוואה. אתה יכול להגדיר את רגישות ההשוואה, להציג רק את דף הסיכום, להתעלם מפערים ועוד רבים אחרים. למד על תכונות אלה מהתיעוד.

אתה יכול להתחיל לבנות יישומי השוואה משלך עבור פורמטים נתמכים של מסמכים שונים. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם