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
+17 -13
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.