Here is a small example : with Ada.Streams.Stream_IO; procedure Streams is use Ada; Max_Datas : constant := 100_000; type Datas is array (1 .. Max_Datas) of Integer; D : Datas := (1 | 2 | 4 | 6 | 8 => 50, others => 1); procedure Write_Stream is package Data_IO renames Ada.Streams.Stream_IO; F : Data_IO.File_Type; begin Data_IO.Create (F, Name => "tmp_s.data", Mode => Data_IO.Out_File); for I in D'Range loop Integer'Write (Data_IO.Stream (F), D(I)); end loop; Data_IO.Close (F); end Write_Stream; procedure Write_Array_Stream is package Data_IO renames Ada.Streams.Stream_IO; F : Data_IO.File_Type; begin Data_IO.Create (F, Name => "tmp_a.data", Mode => Data_IO.Out_File); Datas'Write (Data_IO.Stream (F), D); Data_IO.Close (F); end Write_Array_Stream; begin null; end Streams; Hope this helps, Pascal. -- --|------------------------------------------------------------ --| Pascal Obry Team-Ada Member | --| | --| EDF-DER-IPN-SID- Ing�nierie des Syst�mes d'Informations | --| | --| Bureau G1-010 e-mail: pascal.obry@der.edfgdf.fr | --| 1 Av G�n�ral de Gaulle voice : +33-1-47.65.50.91 | --| 92141 Clamart CEDEX fax : +33-1-47.65.50.07 | --| FRANCE | --|------------------------------------------------------------ --| --| http://ourworld.compuserve.com/homepages/pascal_obry --| --| "The best way to travel is by means of imagination"