Return-Path: X-Original-To: apmail-directory-dev-archive@www.apache.org Delivered-To: apmail-directory-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2085710CE6 for ; Wed, 29 Jan 2014 22:54:24 +0000 (UTC) Received: (qmail 59633 invoked by uid 500); 29 Jan 2014 22:54:23 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 59595 invoked by uid 500); 29 Jan 2014 22:54:22 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 59588 invoked by uid 99); 29 Jan 2014 22:54:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Jan 2014 22:54:22 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mail@stefan-seelmann.de designates 109.239.48.183 as permitted sender) Received: from [109.239.48.183] (HELO amber.s12n.de) (109.239.48.183) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Jan 2014 22:54:15 +0000 Received: from [192.168.2.100] (aftr-88-217-181-69.dynamic.mnet-online.de [88.217.181.69]) by amber.s12n.de (Postfix) with ESMTPSA id 6CB417F8 for ; Wed, 29 Jan 2014 23:53:54 +0100 (CET) Message-ID: <52E98662.1090806@stefan-seelmann.de> Date: Wed, 29 Jan 2014 23:53:22 +0100 From: Stefan Seelmann User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: dev@directory.apache.org Subject: Re: parseLdifFile Run out of memory References: In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: clamav-milter 0.97.8 at amber X-Virus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org On 01/29/2014 06:38 PM, eric tse wrote: > Can you point me out any simple sample java code that demonstrate the most > basic concept of using "iterate on the reader using reader.next()"? LdifReader implements java.lang.Iteratable, so you can do the following (omitting resource handling): File file = new File("/path/to/your/file.ldif" ); LdifReader ldifReader = new LdifReader( file ); Iterator iterator = ldifReader.iterator(); while(iterator.hasNext()) { LdifEntry ldifEntry = iterator.next(); System.out.println(ldifEntry); } ldifReader.close(); Or much nicer using Java 7 try-with-resource statement and foreach loop: try ( LdifReader ldifReader = new LdifReader( file ) ) { for ( LdifEntry ldifEntry : ldifReader ) { System.out.println( ldifEntry ); } } HTH, Stefan