Connection.java (conect): Open the input and/or output streams immediately here, instead of using File.exists.

* gnu/gcj/protocol/file/Connection.java (conect):  Open the input
	and/or output streams immediately here, instead of using File.exists.
	(inputStream, outputStream):  New fields to save open streams.
	(getInputStream, getOutputStream):  Use already-opened streams.

From-SVN: r49965
This commit is contained in:
Per Bothner 2002-02-22 05:53:23 -08:00 committed by Per Bothner
parent 696179ca62
commit 0bf188159d
2 changed files with 24 additions and 13 deletions

View File

@ -1,3 +1,10 @@
2002-02-20 Per Bothner <per@bothner.com>
* gnu/gcj/protocol/file/Connection.java (conect): Open the input
and/or output streams immediately here, instead of using File.exists.
(inputStream, outputStream): New fields to save open streams.
(getInputStream, getOutputStream): Use already-opened streams.
2002-02-22 Alexandre Oliva <aoliva@redhat.com>
* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.

View File

@ -33,6 +33,8 @@ class Connection extends URLConnection
private Vector hdrVec = new Vector();
private boolean gotHeaders = false;
private File fileIn;
private InputStream inputStream;
private OutputStream outputStream;
public Connection(URL url)
{
@ -47,34 +49,36 @@ class Connection extends URLConnection
return;
// If not connected, then file needs to be openned.
fileIn = new File(url.getFile());
if (fileIn.exists())
connected = true;
else
throw new FileNotFoundException("No such file or directory");
String fname = url.getFile();
fileIn = new File(fname);
if (doInput)
inputStream = new BufferedInputStream(new FileInputStream(fileIn));
if (doOutput)
outputStream = new BufferedOutputStream(new FileOutputStream(fileIn));
connected = true;
}
public InputStream getInputStream() throws IOException
{
if (! doInput)
throw new ProtocolException("Can't open InputStream if doInput is false");
if (!connected)
connect();
if (! doInput)
throw new ProtocolException("Can't open InputStream if doInput is false");
return new BufferedInputStream(new FileInputStream(fileIn));
return inputStream;
}
// Override default method in URLConnection.
public OutputStream getOutputStream() throws IOException
{
if (!connected)
connect();
if (! doOutput)
throw new
ProtocolException("Can't open OutputStream if doOutput is false");
return new BufferedOutputStream(new FileOutputStream(fileIn));
if (!connected)
connect();
return outputStream;
}
// Override default method in URLConnection.