AdaPower Logged in as Guest
Ada Tools and Resources

Ada 95 Reference Manual
Ada Source Code Treasury
Bindings and Packages
Ada FAQ


Join >
Articles >
Ada FAQ >
Getting Started >
Home >
Books & Tutorials >
Source Treasury >
Packages for Reuse >
Latest Additions >
Ada Projects >
Press Releases >
Ada Audio / Video >
Home Pages >
Links >
Contact >
About >
Login >
Back
Reading Files with Ada Streams (David Hoos)

with Ada.Command_Line;
with Ada.Exceptions;
with Ada.Streams.Stream_IO;
with Ada.Text_IO;
procedure Stream_IO
is
   File : Ada.Streams.Stream_IO.File_Type;
   Stream : Ada.Streams.Stream_IO.Stream_Access;
begin
   if Ada.Command_Line.Argument_Count /= 1 then
      Ada.Text_Io.Put_Line
        (File => Ada.Text_Io.Standard_Error,
         Item => "USAGE: " & Ada.Command_Line.Command_Name &
         " <input-file-name>");
      Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
      return;
   end if;
   declare
      Filename : String renames Ada.Command_Line.Argument (1);
   begin
      Ada.Streams.Stream_IO.Open
        (File => File,
         Name => Filename,
         Mode => Ada.Streams.Stream_IO.In_File);
   exception
      when E: others =>
         Ada.Exceptions.Raise_Exception
           (E => Ada.Exceptions.exception_Identity (E),
            Message =>
              " attempting to open file """ & Filename & """.");
   end;
   Stream := Ada.Streams.Stream_IO.Stream (File);
   while not Ada.Streams.stream_IO.End_Of_File (File) loop
      Ada.Text_Io.Put_Line
        (Ada.Streams.stream_element'Image
         (Ada.Streams.Stream_Element'Input (Stream)));
   end loop;

   Ada.Streams.Stream_IO.Close (File);
end Stream_IO;


(c) 1998-2004 All Rights Reserved David Botton