InputStream se utiliza para la lectura, OutputStream para la escritura. Se conectan entre sí como decoradores de manera que puede leer/escribir todos los tipos de datos diferentes de todos los tipos diferentes de fuentes.
Por ejemplo, puede escribir datos primitivos en un archivo:
File file = new File("C:/text.bin");
file.createNewFile();
DataOutputStream stream = new DataOutputStream(new FileOutputStream(file));
stream.writeBoolean(true);
stream.writeInt(1234);
stream.close();
para leer el contenido escrito:
File file = new File("C:/text.bin");
DataInputStream stream = new DataInputStream(new FileInputStream(file));
boolean isTrue = stream.readBoolean();
int value = stream.readInt();
stream.close();
System.out.printlin(isTrue + " " + value);
Puede utilizar otros tipos de flujos para mejorar la lectura/escritura.Por ejemplo, se puede introducir un búfer para la eficiencia:
DataInputStream stream = new DataInputStream(
new BufferedInputStream(new FileInputStream(file)));
Puede escribir otros datos, tales como objetos:
MyClass myObject = new MyClass(); // MyClass have to implement Serializable
ObjectOutputStream stream = new ObjectOutputStream(
new FileOutputStream("C:/text.obj"));
stream.writeObject(myObject);
stream.close();
Usted puede leer de otras diferentes fuentes de entrada:
byte[] test = new byte[] {0, 0, 1, 0, 0, 0, 1, 1, 8, 9};
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(test));
int value0 = stream.readInt();
int value1 = stream.readInt();
byte value2 = stream.readByte();
byte value3 = stream.readByte();
stream.close();
System.out.println(value0 + " " + value1 + " " + value2 + " " + value3);
Para la mayoría de los flujos de entrada también hay un flujo de salida. Puede definir sus propias secuencias para leer/escribir cosas especiales y hay secuencias complejas para leer cosas complejas (por ejemplo, hay secuencias para leer/escribir en formato ZIP).
¿Qué es un "flujo"? –
@KorayTugay Una secuencia generalmente se define como un conjunto de caracteres. Para ser más precisos, se llama más de un bit o carácter como una secuencia. –