[jcifs] Accessing a local file using SmbFile
Agnes
acsy11 at yahoo.com.sg
Thu Feb 27 00:02:12 EST 2003
Hi,
Thanks of your prompt help!
I've got the code part already.
> Is your NT domain really 'testdomain.com.sg'? Also you do not specify a share
> which will definately be a problem but it should not give you "Connection refused".
As for the domain setting and share, it's the domain of my AIX machine,
and I don't think it's on an NT domain. Also, how to specify a share on
AIX without having to install Samba?
Thanks!
Agnes
Allen, Michael B (RSCH) wrote:
>
>
>>-----Original Message-----
>>From: Agnes Chin [SMTP:agnes at elixirtech.com]
>>Sent: Tuesday, February 25, 2003 11:23 PM
>>To: jcifs at lists.samba.org
>>Subject: [jcifs] Accessing a local file using SmbFile
>>
>>Hi!
>>
>>I'm exploring using jcifs in my application, and have encountered some
>>issues.
>>
>>My application is running on an AIX machine (for certain reasons, I'm
>>not allowed to install Samba on this machine), and I need to read/write
>>to files on a Windows machine. Particularly, I would need to copy a
>>file from my Windows shared directory to my local directory on AIX.
>>
>>
>>
> No problem.
>
>
>
>> I
>>find that I can't do this:
>>
>> SmbFile test = new
>>SmbFile("smb://testdomain.com.sg;admin:adminpswd@192.168.1.100/testLocal.txt");
>><-- on AIX machine
>>
>>
>>
> Is your NT domain really 'testdomain.com.sg'? Also you do not specify a share
> which will definately be a problem but it should not give you "Connection refused".
>
>
It's the domain of my AIX machine, and I don't think it's on an NT
domain. Also, how to specify a share on AIX without having to install
Samba?
>
>
>>Got a "Connection Refused" exception. Can I do this in the first place??
>>
>>So, I have to stream the data down, like this:
>>
>> jcifs.Config.setProperty( "wins", "192.168.1.105" );
>>
>> File test = new File("/home/train6/ac/testLocal.text");
>> FileOutputStream out = new FileOutputStream( test );
>> SmbFileInputStream in = new SmbFileInputStream(
>> "smb://Agnes:agnespswd@192.168.1.105/aaa/testing.txt" );
>> int n;
>> while(( n = in.read()) > 0 )
>> {
>> out.write(n);
>> }
>>
>>I find this quite primitive, so would like to know if there's a more
>>direct way to do this?
>>
>>
>>
> Why is it primitive? You should use a buffer though or it will be quite slow. And
> you can reduce this a little to
> new FileOutputStream("/home/train6/ac/test/testLocal.text").
>
>
>
>>Actually, it all started with me requiring to read in and then process
>>the contents of an SmbFile line by line, but found that there isn't a
>>corresponding Reader/Writer in the jcifs APIs. Therefore, I resorted to
>>
>>
>>
> SmbFileOutputStream and SmbFileInputStreams extend OutputStream and
> InputStream so you can do this:
>
> BufferedReader br =
> new BufferedReader( new InputStreamReader( new SmbFileInputStream( url )));
> String line = br.readLine();
>
>
>
>>duplicating a copy of the file on my local AIX machine, then use
>>FileReader/FileWriter to process the file line by line, then make the
>>neccesary changes to this local file, and then stream it out again to
>>Windows machine.
>>
>>
>>
> Not necessary. See the examples like Get.java.
>
>
>
>>Excuse my ignorance, as I'm new to Unix, Samba and Java, but would
>>really appreciate if there's a better solution than what I'm doing.
>>
>>
>>
> Just keep trying. Eventually you'll figure it out.
>
>
>
>>Thanks!
>>Agnes
>>
>>
>>
>>
>
>
>
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the jcifs
mailing list