java.lang.OutOfMemoryError: [memory exhausted]
<p>I am getting following exception:</p>

<pre><code>    03-22 23:34:23.775: E/dalvikvm-heap(563): Out of memory on a 216-byte allocation.
    03-22 23:34:23.775: I/dalvikvm(563): "main" prio=5 tid=1 RUNNABLE
    03-22 23:34:23.775: I/dalvikvm(563):   | group="main" sCount=0 dsCount=0 obj=0x409c1460 self=0x12810
    03-22 23:34:23.775: I/dalvikvm(563):   | sysTid=563 nice=0 sched=0/0 cgrp=default handle=1074082952
    03-22 23:34:23.775: I/dalvikvm(563):   | schedstat=( 185232190544 11744128421 6399 ) utm=18163 stm=360 core=0
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.Throwable.nativeFillInStackTrace(Native Method)
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.Throwable.fillInStackTrace(Throwable.java:160)
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.Throwable.&lt;init&gt;(Throwable.java:83)
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.Error.&lt;init&gt;(Error.java:37)
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.VirtualMachineError.&lt;init&gt;(VirtualMachineError.java:35)
    03-22 23:34:23.775: I/dalvikvm(563):   at java.lang.OutOfMemoryError.&lt;init&gt;(OutOfMemoryError.java:33)
    03-22 23:34:23.785: I/dalvikvm(563):   at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)
    03-22 23:34:23.785: I/dalvikvm(563):   at java.lang.StringBuffer.append(StringBuffer.java:219)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.swabunga.spell.engine.DoubleMeta.transform((null):-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.swabunga.spell.engine.SpellDictionaryASpell.getCode((null):-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.swabunga.spell.engine.SpellDictionaryHashMap.putWord((null):-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.swabunga.spell.engine.SpellDictionaryHashMap.createDictionary((null):-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.swabunga.spell.engine.SpellDictionaryHashMap.&lt;init&gt;((null):-1)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.spellchecker.SpellCheckerService.&lt;init&gt;(SpellCheckerService.java:49)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.dict.SearchDict.handleIntent(SearchDict.java:150)
    03-22 23:34:23.785: I/dalvikvm(563):   at com.dict.SearchDict.onNewIntent(SearchDict.java:87)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1123)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:2042)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.ActivityThread.performNewIntents(ActivityThread.java:2055)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.ActivityThread.handleNewIntent(ActivityThread.java:2064)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.ActivityThread.access$1400(ActivityThread.java:123)
    03-22 23:34:23.785: I/dalvikvm(563):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1194)
    03-22 23:34:23.795: I/dalvikvm(563):   at android.os.Handler.dispatchMessage(Handler.java:99)
    03-22 23:34:23.795: I/dalvikvm(563):   at android.os.Looper.loop(Looper.java:137)
    03-22 23:34:23.795: I/dalvikvm(563):   at android.app.ActivityThread.main(ActivityThread.java:4424)
    03-22 23:34:23.795: I/dalvikvm(563):   at java.lang.reflect.Method.invokeNative(Native Method)
    03-22 23:34:23.795: I/dalvikvm(563):   at java.lang.reflect.Method.invoke(Method.java:511)
    03-22 23:34:23.795: I/dalvikvm(563):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    03-22 23:34:23.795: I/dalvikvm(563):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    03-22 23:34:23.795: I/dalvikvm(563):   at dalvik.system.NativeStart.main(Native Method)
         java.lang.OutOfMemoryError: [memory exhausted]
         at dalvik.system.NativeStart.main(Native Method)
</code></pre>

<p>in the folowing code:</p>

<pre><code>        File wordList=new File(Environment.getExternalStorageDirectory() + File.separator + "wordlist.0");
        if(!wordList.exists())
        {
            wordList.createNewFile();
            BufferedReader reader = new BufferedReader(new InputStreamReader(SearchDict.context.getResources().openRawResource(R.raw.wordlist)));
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(wordList)));
            String line;                
            while ((line = reader.readLine()) != null) 
            {
                writer.write(line);
                writer.newLine();
            }
        }
        SpellDictionaryHashMap spelldictionaryhashmap = new SpellDictionaryHashMap(wordList, null);
        spellCheck = new SpellChecker(spelldictionaryhashmap);
        spellCheck.addSpellCheckListener(this);
        spellCheck.checkSpelling(new StringWordTokenizer(s));
</code></pre>

<p>I am developing a dictionary in which I have implemented spell checker using JAZZY API. The above code is a part of it which typically reads the words from the word list in raw folder and writes to the file. Because I need to pass the word list as java.io.File to the com.swabunga.spell.engine.SpellDictionaryHashMap for creation of hash code of the word list.</p>

<p>While the process was going on this exception got thrown.</p>
