home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
netrexx.zip
/
NetRexx
/
linecomment.nrx
< prev
next >
Wrap
Text File
|
1998-02-14
|
2KB
|
60 lines
/* linecomment.nrx -- convert appropriate block comments to line comments */
/* This is a sample file input and output program, showing how to open,
check, and process text files, and handle exceptions.
Note the use of the Reader and Writer classes, which convert your
local computer's 'code page' (character encoding) to Unicode during
reading and back again during writing. */
parse arg fin fout . -- get the arguments: input and output files
if fout='' then do
say '# Please specify both input and output files'
exit 1
end
/* Open and check the files */
do
infile=File(fin)
instream=FileInputStream(infile)
inhandle=BufferedReader(InputStreamReader(instream))
outfile=File(fout)
if outfile.getAbsolutePath=infile.getAbsolutePath then do
say '# Input file cannot be used as the output file'
exit 1
end
outstream=FileOutputStream(outfile)
outhandle=OutputStreamWriter(outstream)
say 'Processing' infile'...'
catch e=IOException
say '# error opening file' e.getMessage
end
linesep=System.getProperty('line.separator') -- be platform-neutral
/* The main processing loop */
loop linenum=1 by 1
line=Rexx inhandle.readLine -- get next line [as Rexx string]
if line=null then leave linenum -- normal end of file
parse line pre '/*' mid '*/' post -- process the line
if pre\='' then
if mid\='' then
if post=='' then
line=pre'--'mid
if linenum>1 then outhandle.write(linesep, 0, linesep.length)
outhandle.write(line, 0, line.length)
catch e=IOException
say '# error reading or writing file' e.getMessage
catch Exception
say '# processing ended'
finally do -- close files
if inhandle\=null then inhandle.close
if outhandle\=null then outhandle.close
catch IOException
-- ignore errors during close
end
end linenum
say linenum-1 'lines written'