You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Asad Habib <ah...@engin.umich.edu> on 2006/09/08 00:53:41 UTC

File I/O with Struts

I am trying to read from a file using a utility class that I invoke from 
an action. However, my application is unable to find the file and a 
java.io.FileNotFoundException is thrown. I have tried placing the file in 
/WEB-INF/classes as well as the root directory of the application however 
the error is still thrown. Any help would be appreciated. Thank you.

- Asad

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: File I/O with Struts

Posted by Laurie Harper <la...@holoweb.net>.
Unless the file is at an already known, absolute location, you need some 
way to determine the correct path to it. If it's part of your WAR, and 
the WAR could have been deployed anywhere (according to where the 
container is installed, etc.) then you will need a way to figure out the 
correct path to load.

You can place it anywhere you like within the WAR and access it using 
getRealPath(). However, if the container the webapp is running in 
doesn't expand WAR files, that might not work. Another alternative is to 
place the file in the classes and load it via getResource(). Or, install 
it to a known location (/etc, C:\Program Files\Your Application\, or 
whatever) so you can reference it with an absolute path.

L.

Asad Habib wrote:
> Hi Laurie. Actually, I am not using any method to determine the path of 
> the file. Should I be doing that? In general, where should one place 
> files used for I/O within the WAR structure? Thanks for your help.
> 
> - Asad
> 
> 
> On Thu, 7 Sep 2006, Laurie Harper wrote:
> 
>> Asad Habib wrote:
>>> I am trying to read from a file using a utility class that I invoke 
>>> from an action. However, my application is unable to find the file 
>>> and a java.io.FileNotFoundException is thrown. I have tried placing 
>>> the file in /WEB-INF/classes as well as the root directory of the 
>>> application however the error is still thrown. Any help would be 
>>> appreciated. Thank you.
>>
>> It's hard to help without seeing the code, but you are probably 
>> specifying an incorrect path to the file. Are you using getRealPath() 
>> [1] to figure out the real file location?
>>
>> L.
>>
>> [1] 
>> http://tomcat.apache.org/tomcat-5.0-doc/servletapi/javax/servlet/ServletContext.html#getRealPath(java.lang.String) 
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: File I/O with Struts

Posted by Asad Habib <ah...@engin.umich.edu>.
Hi Laurie. Actually, I am not using any method to determine the path of 
the file. Should I be doing that? In general, where should one place files 
used for I/O within the WAR structure? Thanks for your help.

- Asad


On Thu, 7 Sep 2006, Laurie Harper wrote:

> Asad Habib wrote:
>> I am trying to read from a file using a utility class that I invoke from an 
>> action. However, my application is unable to find the file and a 
>> java.io.FileNotFoundException is thrown. I have tried placing the file in 
>> /WEB-INF/classes as well as the root directory of the application however 
>> the error is still thrown. Any help would be appreciated. Thank you.
>
> It's hard to help without seeing the code, but you are probably specifying an 
> incorrect path to the file. Are you using getRealPath() [1] to figure out the 
> real file location?
>
> L.
>
> [1] 
> http://tomcat.apache.org/tomcat-5.0-doc/servletapi/javax/servlet/ServletContext.html#getRealPath(java.lang.String)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: File I/O with Struts

Posted by Laurie Harper <la...@holoweb.net>.
Asad Habib wrote:
> I am trying to read from a file using a utility class that I invoke from 
> an action. However, my application is unable to find the file and a 
> java.io.FileNotFoundException is thrown. I have tried placing the file 
> in /WEB-INF/classes as well as the root directory of the application 
> however the error is still thrown. Any help would be appreciated. Thank 
> you.

It's hard to help without seeing the code, but you are probably 
specifying an incorrect path to the file. Are you using getRealPath() 
[1] to figure out the real file location?

L.

[1] 
http://tomcat.apache.org/tomcat-5.0-doc/servletapi/javax/servlet/ServletContext.html#getRealPath(java.lang.String)


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org