java - প্রোপার্টি ক্লাস ব্যবহার করে একটি মানচিত্র লোড হচ্ছে




optimization properties (2)

আমার কাছে 75000 এন্ট্রি সহ একটি মানচিত্র রয়েছে এবং প্রতিটি প্রবেশ মূল্য 10kb আকারের হবে।

আমি এই মানচিত্রটি প্রোপার্টি ক্লাস ব্যবহার করে মেমরিতে লোড করি। তবে মানচিত্রটির আকারের কারণে, হোস্টের র‌্যাম ছোট থাকাকালীন আমি আউটআফ মেমরিএক্সেপশন পাই।

আমার কাছে একটি বিকল্প হ'ল সম্পূর্ণ মানচিত্রটি লোড না করে ব্যাচগুলিতে (10,000 এর মতো) এন্ট্রিগুলি পড়তে হবে। প্রাথমিক 10 কে প্রক্রিয়াজাতকরণের পরে পরবর্তী 10 কে পড়ুন।

প্রোপার্টি ক্লাস ব্যবহার করে এটি সম্পাদন করার কোনও উপায় আছে কি?

এছাড়াও, মানচিত্রের এন্ট্রিগুলি এই পদ্ধতিতে লোড করার জন্য আরও ভাল কোনও পন্থা থাকতে পারে?

ধন্যবাদ এবং শুভেচ্ছা,
Sujith


আমি ধরে নিচ্ছি আপনাকে একই সাথে সমস্ত সম্পত্তি লোড করার দরকার নেই, তবে আপনাকে সমস্ত বৈশিষ্ট্যের মধ্যে পুনরাবৃত্তি করতে হবে। ব্যক্তিগতভাবে, আমি নিজেই ফাইল লাইনটি লাইন দিয়ে বিশ্লেষণ করে স্ট্রিমের মতো ফ্যাশনে কাজ করতে যাব with খুব বড় সম্পত্তি প্রক্রিয়াকরণের জন্য যদি কোনও lib থাকে তবে আমি এটি জানি না।


Properties ব্যবহার করবেন না, যা উত্তরাধিকার

  1. একাধিক ফাইলে এন্ট্রি ভাগ করুন

  2. প্রতিটি ফাইল ক্রমানুসারে পড়ুন, Preferences ব্যবহার করে লোড করুন এবং প্রক্রিয়া করুন

উদাহরণ কোড:

package com.mypack.test;

import java.io.*;
import java.util.*;
import java.util.prefs.Preferences;

public class PreferencesExample {

    public static void main(String args[]) throws FileNotFoundException {
        Preferences ps = Preferences.userNodeForPackage(PreferencesExample.class);
        // Load file object
        File fileObj = new File("d:\\data.xml");
        try {
            FileInputStream fis = new FileInputStream(fileObj);
            ps.importPreferences(fis);
            System.out.println("Prefereces:"+ps);
            System.out.println("Get property1:"+ps.getInt("property1",10));

        } catch (Exception err) {
            err.printStackTrace();
        }
    }
}

নমুনা এক্সএমএল:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preferences SYSTEM 'http://java.sun.com/dtd/preferences.dtd'>
<preferences EXTERNAL_XML_VERSION="1.0">
<root type="user">
<map />
<node name="com">
  <map />
  <node name="mypack">
    <map />
    <node name="test">
      <map>
        <entry key="property1" value="80" />
        <entry key="property2" value="Red" />
      </map>
    </node>
  </node>
</node>
</root>
</preferences>






hashmap