-
Bug
-
Resolution: Fixed
-
P2
-
1.4.0
-
beta
-
x86, sparc
-
linux, solaris_2.6, solaris_7, windows_nt
-
Verified
java.io.ObjectInputStream int available()
jdk1.4 build46 returned value is not ok.
jdk1.4 build44 returned value is ok.
Test Program :
-------------------------------------
import java.io.*;
import java.util.*;
public class AvailableTest {
public static void main(String[] args) throws Exception {
try {
ObjectOutputStream wfile = null;
ObjectInputStream rfile = null;
FileOutputStream wstream = new FileOutputStream("AvailableTest.ser");
FileInputStream rstream = new FileInputStream("AvailableTest.ser");
wfile = new ObjectOutputStream(wstream);
rfile = new ObjectInputStream(rstream);
//write total 7 bytes
wfile.writeByte(100);
wfile.writeShort(1000);
wfile.writeInt(2000);
wfile.close();
//read available bytes
int primDataavailable = rfile.available();
System.out.println("primDataavailable = " + primDataavailable);
if (primDataavailable != 7) {
throw new Exception("available bytes 'primDataavailable != 7' is not ok in AvailableTest");
}
rfile.close();
System.out.println ("AvailableTest Pass");
//delete the test file AvailableTest.ser
File f = new File("AvailableTest.ser");
if (f.exists()) {
f.delete();
}
} catch (Exception e) {
System.out.println ("Exception thrown in AvailableTest Fail " + e);
e.printStackTrace();
}
}
}
--------------------------------------output result on jdk1.4 build46-------
H:\merlinTest\bugsFiled\Available>java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b46)
Java HotSpot(TM) Client VM (build B45, mixed mode)
H:\merlinTest\bugsFiled\Available>java AvailableTest
primDataavailable = 0
Exception thrown in AvailableTest Fail java.lang.Exception: available bytes 'primDataavailable != 7' is not ok in AvailableTest
java.lang.Exception: available bytes 'primDataavailable != 7' is not ok in AvailableTest
at AvailableTest.main(AvailableTest.java:27)
--------------------------------------output result on jdk1.4 build44----------
H:\merlinTest\bugsFiled\Available>n:\beta\b44\binaries\win\bin\java -version
java version "1.4.0beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0beta-b44)
Java HotSpot(TM) Client VM (build B44, mixed mode)
H:\merlinTest\bugsFiled\Available>n:\beta\b44\binaries\win\bin\java AvailableTest
primDataavailable = 7
AvailableTest Pass
jdk1.4 build46 returned value is not ok.
jdk1.4 build44 returned value is ok.
Test Program :
-------------------------------------
import java.io.*;
import java.util.*;
public class AvailableTest {
public static void main(String[] args) throws Exception {
try {
ObjectOutputStream wfile = null;
ObjectInputStream rfile = null;
FileOutputStream wstream = new FileOutputStream("AvailableTest.ser");
FileInputStream rstream = new FileInputStream("AvailableTest.ser");
wfile = new ObjectOutputStream(wstream);
rfile = new ObjectInputStream(rstream);
//write total 7 bytes
wfile.writeByte(100);
wfile.writeShort(1000);
wfile.writeInt(2000);
wfile.close();
//read available bytes
int primDataavailable = rfile.available();
System.out.println("primDataavailable = " + primDataavailable);
if (primDataavailable != 7) {
throw new Exception("available bytes 'primDataavailable != 7' is not ok in AvailableTest");
}
rfile.close();
System.out.println ("AvailableTest Pass");
//delete the test file AvailableTest.ser
File f = new File("AvailableTest.ser");
if (f.exists()) {
f.delete();
}
} catch (Exception e) {
System.out.println ("Exception thrown in AvailableTest Fail " + e);
e.printStackTrace();
}
}
}
--------------------------------------output result on jdk1.4 build46-------
H:\merlinTest\bugsFiled\Available>java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b46)
Java HotSpot(TM) Client VM (build B45, mixed mode)
H:\merlinTest\bugsFiled\Available>java AvailableTest
primDataavailable = 0
Exception thrown in AvailableTest Fail java.lang.Exception: available bytes 'primDataavailable != 7' is not ok in AvailableTest
java.lang.Exception: available bytes 'primDataavailable != 7' is not ok in AvailableTest
at AvailableTest.main(AvailableTest.java:27)
--------------------------------------output result on jdk1.4 build44----------
H:\merlinTest\bugsFiled\Available>n:\beta\b44\binaries\win\bin\java -version
java version "1.4.0beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0beta-b44)
Java HotSpot(TM) Client VM (build B44, mixed mode)
H:\merlinTest\bugsFiled\Available>n:\beta\b44\binaries\win\bin\java AvailableTest
primDataavailable = 7
AvailableTest Pass
- duplicates
-
JDK-4403198 JCK13 api/java_io/Serialization/ObjectInputStream/avail.html#Avail0001
-
- Closed
-
-
JDK-4405402 java.io.ObjectInputStream.available() returns incorrect value
-
- Closed
-