تقسيم ملف نصي كبير إلى أسطر باستخدام GroupDocs Merger Java

في هذا البرنامج التعليمي ستكتشف كيفية split large text file إلى مستندات منفصلة تعتمد على كل سطر باستخدام GroupDocs Merger for Java. سواءً كنت تعالج سجلات، أو تفريغ CSV، أو أي مصدر نصي عادي ضخم، فإن تقسيم الملف إلى قطع يمكن التحكم فيها يجعل التحليل اللاحق، والمعالجة المتوازية، والتخزين أسهل بكثير.

إجابات سريعة

  • ما المكتبة التي تتعامل مع التقسيم؟ GroupDocs Merger for Java.
  • كم عدد الأسطر التي يمكن معالجتها؟ يمكنها التعامل مع ملفات تحتوي على ملايين الأسطر؛ حيث تقوم الـ API ببث البيانات بحيث يبقى استهلاك الذاكرة منخفضًا.
  • هل أحتاج إلى ترخيص؟ النسخة التجريبية المجانية تعمل للتقييم؛ ويتطلب الترخيص التجاري للإنتاج.
  • ما نسخة Java المطلوبة؟ JDK 8 أو أحدث.
  • هل يمكنني تغيير تنسيق الإخراج؟ نعم – يمكنك إخراج كل سطر كملف TXT أو PDF أو DOCX، أو أي من أكثر من 50 تنسيقًا مدعومًا.

ما هو تقسيم ملف نصي كبير؟

يعني تقسيم ملف نصي كبير قراءة كل سطر وكتابته إلى مستند منفصل، مما يسمح بمعالجة كل سجل بشكل مستقل. يقلل هذا النهج من ضغط الذاكرة ويمكّن من سير عمل متوازي.

لماذا تستخدم GroupDocs Merger for Java؟

يدعم GroupDocs Merger أكثر من 50 تنسيقًا للإدخال والإخراج، ويعالج مستندات مئات الصفحات دون تحميل الملف بالكامل إلى الذاكرة، ويوفر بثًا مدمجًا للحفاظ على استهلاك الذاكرة تحت 100 ميغابايت حتى للملفات التي يزيد حجمها عن 2 غيغابايت. تجعل هذه الفوائد الم quantified تجعلها خيارًا رئيسيًا لمعالجة النصوص على مستوى المؤسسات.

المتطلبات المسبقة

  • Java Development Kit (JDK) 8 أو أحدث مثبت.
  • أداة البناء – Maven أو Gradle لإدارة التبعيات.
  • مكتبة GroupDocs Merger for Java (تم تحميلها عبر Maven/Gradle أو JAR يدوي).

المكتبات والاعتمادات المطلوبة

أضف GroupDocs Merger إلى مشروعك:

Maven:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

بدلاً من ذلك، حمّل أحدث نسخة من GroupDocs.Merger for Java releases. لمزيد من المعلومات، راجع الرابط الآخر GroupDocs.Merger for Java releases .

خطوات الحصول على الترخيص

  1. النسخة التجريبية المجانية – اختبار جميع الميزات دون تكلفة.
  2. ترخيص مؤقت – اطلب مفتاحًا قصير الأمد من صفحة temporary license page إذا تجاوزت حدود التجربة.
  3. الشراء – احصل على ترخيص كامل عبر GroupDocs’ purchase page للاستخدام الإنتاجي غير المحدود. يمكنك أيضًا زيارة GroupDocs’ purchase site للحصول على تفاصيل الأسعار.

كيفية تقسيم ملف نصي كبير إلى مستندات سطرية باستخدام GroupDocs Merger؟

حمّل ملف المصدر، قم بتكوين TextSplitOptions، واستدعِ طريقة split. تقوم الـ API ببث كل سطر، وتكتبها إلى المجلد الهدف، وتحرّر الموارد تلقائيًا، لذا حتى الملفات التي تحتوي على ملايين الأسطر تُعالج بكفاءة. باستخدام نهج البث، يبقى استهلاك الذاكرة تحت 100 ميغابايت، ويمكن تنفيذ العملية بالتوازي عبر عدة نوى CPU لمعالجة أسرع على مجموعات بيانات كبيرة.

الخطوة 1: استيراد الحزم الضرورية

Merger، TextSplitOptions، وفئات I/O القياسية يجب استيرادها قبل أي معالجة.

import com.groupdocs.merger.Merger;

Merger merger = new Merger("path/to/your/file.txt");

الخطوة 2: تحديد مسارات الملفات

حدد المسارات المطلقة أو النسبية لملف النص المصدر ودليل الإخراج حيث سيتم حفظ كل سطر.

import com.groupdocs.merger.Merger;

Merger merger = new Merger("path/to/your/file.txt");

الخطوة 3: إنشاء كائن Merger

فئة Merger هي نقطة الدخول لجميع عمليات المستندات في GroupDocs Merger.

import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.options.TextSplitOptions;
import java.io.File;
import java.nio.file.Paths;

الخطوة 4: تكوين خيارات التقسيم

TextSplitOptions تتيح لك التحكم في محددات السطر، تسمية الإخراج، وما إذا كان سيتم استبدال الملفات الموجودة.

String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.txt";
String filePathOut = "YOUR_OUTPUT_DIRECTORY/";

الخطوة 5: تنفيذ عملية التقسيم

استدعِ طريقة split مع مجلد الإخراج، وعلم الاستبدال، وامتداد الملف المطلوب. تُعيد الطريقة مجموعة من مسارات الملفات التي تم إنشاؤها، والتي يمكنك تسجيلها أو معالجتها لاحقًا.

Merger merger = new Merger(filePath);

شرح المعلمات

  • مجلد الإخراج – حيث سيُكتب كل مستند سطر.
  • علم الاستبدالtrue يستبدل الملفات الموجودة التي لها نفس الاسم.
  • امتداد الملف – اختر ".txt" للنص العادي، أو ".pdf" للحصول على PDF لكل سطر.

المشكلات الشائعة والحلول

  • أخطاء مسار الملف – تحقق مرة أخرى من وجود ملف الإدخال وأن دليل الإخراج قابل للكتابة.
  • مشكلات الأذونات – شغّل JVM بأذونات نظام تشغيل كافية أو عدّل قوائم التحكم بالوصول للمجلد.
  • تعارض الإصدارات – تأكد من أن نسخة JAR الخاصة بـ GroupDocs Merger تتطابق مع تبعياتك الأخرى؛ استخدم نفس النسخة الرئيسية عبر جميع المكونات.

التطبيقات العملية

تقسيم ملفات نصية كبيرة إلى مستندات قائمة على الأسطر مفيد لـ:

  1. خطوط معالجة البيانات – إمداد كل سطر إلى خدمة مصغرة منفصلة أو مهمة Spark.
  2. إدارة ملفات السجلات – أرشف كل سجل كملف منفصل للوصول السريع وتدقيق الامتثال.
  3. تقسيم المحتوى – تحويل مسودة مقالة ضخمة إلى مقاطع جملة أو سطرية لتستخدم في منصات التحرير التعاونية.

اعتبارات الأداء

عند التعامل مع ملفات ضخمة جدًا:

  • تحسين الذاكرة – الاعتماد على API البث الخاص بـ GroupDocs Merger؛ تجنّب تحميل الملف بالكامل إلى String.
  • المعالجة على دفعات – قسّم الملفات إلى أجزاء (مثلاً 10 000 سطر لكل دفعة) للحفاظ على سلاسة I/O للقرص.
  • ضبط JVM – زيادة حجم الذاكرة (-Xmx2g) فقط إذا كنت تخطط لمعالجة إضافية في الذاكرة تتجاوز عملية التقسيم.

الخلاصة

أنت الآن تعرف كيفية split large text file إلى مستندات سطرية منفصلة باستخدام GroupDocs Merger for Java. تحسّن هذه التقنية القابلية للتوسع، وتمكّن المعالجة المتوازية، وتبسط التعامل مع البيانات اللاحقة.

الخطوات التالية

  • جرّب صيغ إخراج أخرى مثل PDF أو DOCX بتغيير امتداد الملف في TextSplitOptions.
  • دمج عملية التقسيم مع ميزات merge و watermark في GroupDocs Merger لبناء سير عمل مستندات شامل من البداية إلى النهاية.
  • دمج الحل في خدمة Spring Boot أو دالة serverless لتلقائية خطوط المعالجة.

الأسئلة المتكررة

س: هل يمكنني تقسيم ملف إلى فقرات بدلاً من أسطر؟
ج: تقوم الـ API الجاهزة بالتقسيم حسب محددات السطر، لكن يمكنك توفير محدد مخصص (مثل "\n\n") لمعالجة الفقرات المفصولة بأسطر فارغة كوحدات تقسيم.

س: هل GroupDocs Merger مجاني للمشاريع التجارية؟
ج: تتوفر نسخة تجريبية مجانية للتقييم؛ ويتطلب الترخيص المدفوع للنشر في بيئات الإنتاج.

س: ماذا لو كان ملف النص يحتوي على أحرف Unicode؟
ج: المكتبة تكتشف تلقائيًا ترميز UTF‑8؛ يمكنك أيضًا تحديد مجموعة أحرف مختلفة في مُنشئ Merger إذا لزم الأمر.

س: كيف يتعامل المقسم مع ملفات ضخمة جدًا (متعددة الجيجابايت)؟
ج: يقوم ببث كل سطر إلى القرص، مع الحفاظ على استهلاك الذاكرة تحت 100 ميغابايت بغض النظر عن حجم المصدر، مما يجعله مناسبًا للملفات متعددة الجيجابايت.

س: هل تدعم الـ API صيغًا أخرى غير TXT؟
ج: نعم – يمكنك إخراج كل سطر كملف PDF أو DOCX أو HTML، أو أي من أكثر من 50 صيغة مدرجة في وثائق المنتج.

الموارد


آخر تحديث: 2026-08-26
تم الاختبار مع: GroupDocs Merger 23.11 for Java
المؤلف: GroupDocs

// Create TextSplitOptions instance specifying mode to split by lines.
TextSplitOptions splitOptions = new TextSplitOptions(filePathOut, true, true);
merger.split(splitOptions);

دروس ذات صلة