if ((indexFile = new File(indexDir)).exists() &&
indexFile.isDirectory())
{
exists = false;
Isn't this backwards?
Couldn't you just do:
indexFile = new File(indexDir);
exists = (indexFile.exists() && indexFile.isDirectory());
-----Original Message-----
From: bib_lucene bib [mailto:[EMAIL PROTECTED]
Sent: Friday, 8 July 2005 8:21 AM
To: [email protected]
Subject: Re: FileNotFoundException segments
This is a new directory, created just before this step.
I am uploading files to this directory. The file is getting uploaded
fine.
Any ideas?
Muetze303 <[EMAIL PROTECTED]> wrote:
probably the dir exists, but the index inside the dir is broken or not
complete and you are trying to use it instead of creating a new one?!
bib_lucene bib wrote:
>Hi All
>
>can someone please help me on the error in my web application...
>
>I am using tomcat , the path for index dir is obtained from jsp page
using application.getRealPath("/")+"download/compName"
>
>I want to index when the file gets uploaded.
>I am getting this error...
>
>java.io.FileNotFoundException:
>C:\tomcat\webapps\myApp\download\compName\segmen
>s (The system cannot find the file specified) at
>java.io.RandomAccessFile.open(Native Method) at
>java.io.RandomAccessFile.(RandomAccessFile.java:204)
> at org.apache.lucene.store.FSInputStream$Descriptor.(FSDirectory.
>ava:376)
> at org.apache.lucene.store.FSInputStream.(FSDirectory.java:405)
> at org.apache.lucene.store.FSDirectory.openFile(FSDirectory.java:268)
> at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:40)
> at org.apache.lucene.index.IndexWriter$1.doBody(IndexWriter.java:233)
> at org.apache.lucene.store.Lock$With.run(Lock.java:109)
> at org.apache.lucene.index.IndexWriter.(IndexWriter.java:228)
> at org.apache.lucene.index.IndexWriter.(IndexWriter.java:193)
> at com.rs.upload.FileIndexer.indexDocument(FileIndexer.java:43)
>
>
>This directory C:\tomcat\webapps\myApp\download\compName\ exist in the
file system.
>
>Here is the program I wrote
>/*
> * Created on Jul 6, 2005
> *
> * TODO To change the template for this generated file go to
> * Window - Preferences - Java - Code Style - Code Templates */
>package com.rs.upload; import java.util.Hashtable; import
>java.util.Iterator; import java.io.*; import
>org.apache.lucene.index.IndexWriter;
>import org.apache.lucene.analysis.standard.*;
>import org.apache.lucene.document.*;
>/**
> * @author
> *
> * This will index the documents as and when documents are uploaded.
> *
> */
>public class FileIndexer {
>
> public static void indexDocument(String fileName, Hashtable fields,
> String indexDir) throws IOException{
>
> // Find if the index already exists
> boolean exists = true;
> File indexFile = null;
> if ((indexFile = new File(indexDir)).exists() &&
> indexFile.isDirectory()) { exists = false; System.out.println("Index
> does not exist"); } else { exists = true; System.out.println("Index
> does exist"); } System.out.println("Index Directory:"+indexDir);
> IndexWriter writer = null; try { writer = new IndexWriter(indexFile,
> new StandardAnalyzer(), exists); } catch (IOException e) { // TODO
> Auto-generated catch block e.printStackTrace(); } writer.mergeFactor =
> 20;
>
> File candidateFile = new File(fileName);
> indexFile(writer,candidateFile,fields);
> }
>
> private static void indexFile(IndexWriter writer, File f, Hashtable
> fields) throws IOException{
>
> if( f.isHidden() || !f.exists() || !f.canRead()){ return; }
>
> System.out.println("Indexing file :"+ f.getCanonicalPath()); Document
> doc = new Document(); doc.add(Field.Text("contents", new
> FileReader(f)));
> doc.add(Field.Keyword("filename",f.getCanonicalPath()));
>
> Iterator it = fields.keySet().iterator(); String element = ""; while
>(it.hasNext()) { element = (String)it.next();
>doc.add(Field.Keyword(element,(String)fields.get(element)));
> }
> writer.addDocument(doc);
> }
>}
>
>
>
>---------------------------------
> Sell on Yahoo! Auctions - No fees. Bid on great items.
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------
Sell on Yahoo! Auctions - No fees. Bid on great items.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]