This isn’t really a Drools question just a basic java programming question.
You are trying to read your input files from the current working directory (which defaults to the root of your project in eclipse).
What you probably want to be doing is reading your files from the classpath instead. Using ResourceFactory.newClassPathResource is the way I normally go
about reading my files but you can do it with the standard class loader methods as well.
Thomas
From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org]
On Behalf Of Fnu Mahalakshmi
Sent: 07 June 2010 14:42
To: 'rules-users@lists.jboss.org'
Subject: Re: [rules-users] Error Loading Multiple Input Files
Hi Greg,
I have my input files inside the src directory of my eclipse project.
I am passing the files as follows:
private static final String DATA_INPUT_FILE = new String []{ "Input1.txt", “Input2.txt”};
private
static
final String
DATA_OUTPUT_FILE =
"Output.1.txt";
private
static
final String
RULES_FILES = new String [] {"Rule1.drl",
“Rules2.drl”};
public
static
void main(String[] args)
throws Exception {
BufferedReader input = new BufferedReader(new FileReader(DATA_INPUT_FILE));
Converter c =
new Converter(DATA_INPUT_FILE); // this reads my input files
Vector<Object> v =
new Vector<Object>();
v = c.getFactInput(); // loads all information contained in the input files
new RuleRunner().runStatelessRules(RULES_FILES,null,
v,null);
FileOutputStream output = new FileOutputStream(DATA_OUTPUT_FILE);
Error Log:
Exception in thread "main"
java.io.FileNotFoundException: Input1.txt (The system cannot find the file
specified)
at java.io.FileInputStream.open(Native
Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at com.org.RulesTest.main(RulesTest.java:29)
Can you tell me why that happens??
The file is present.
Thanks.
M
Please consider the environment before printing this email.
Visit our website at
http://www.nyse.com
*****************************************************************************
Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this
message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to the
message, and please delete it from your system. Thank you. NYSE Euronext.