import java.nio.*; import java.io.*; public class DataInputOutputStreamTest { /* this method is only for debugging. * Comment out code, where method is called. */ public static void print_array(byte[] array) { int i=0; for(byte b: array) { System.out.format("%x", b); if(++i % 2 == 0) System.out.print(" "); } System.out.println(); } public static void main(String []args ) { File file = new File("file.bin"); write(file); read(file); } public static void write(File file) { int a = -159954; double b = 125.128953; char c = 'Θ'; String str = "Πώς είσαι;"; try(DataOutputStream out = new DataOutputStream(new FileOutputStream(file))) { out.writeInt(a); out.writeDouble(b); out.writeChar(c); byte [] bytes_str = str.getBytes(java.nio.charset.StandardCharsets.UTF_16); out.write(bytes_str, 0, bytes_str.length); } catch(IOException ex) { System.out.println("Cannot write to file: "+file.getName()); } } public static void read(File file) { try(DataInputStream in = new DataInputStream(new FileInputStream(file))) { int a = in.readInt(); double b = in.readDouble(); char c = in.readChar(); byte [] bytes = new byte[512]; int str_size = in.read(bytes); System.out.println(a); System.out.println(b); System.out.println("'"+c+"'"); System.out.println(new String(bytes, 0, str_size, java.nio.charset.StandardCharsets.UTF_16)); } catch(IOException ex) { System.out.println("Something bad happened!"); } } }