java - InputStream.read() blocking (jamming) execution -
i've been writing basic bit level encryption code, , i'm pretty sure algorithm correct.. can't test it. when run code, first loop (using system.in.read()
) jams code. when send eof
signal via terminal, code progresses no further - i've checked primitive print
statements on next line.
as understand, sending eof
should have read()
return -1
, exiting loop.
what missing?
thank you.
public class bitlevel { public static void main(string[] args) throws exception { fileinputstream input = new fileinputstream(args[0]); fileoutputstream output = new fileoutputstream(args[1]); arraylist<integer> key = new arraylist<integer>(); int = 0; system.out.print("enter key: "); system.out.flush(); int c = system.in.read(); while (c != -1) { key.add((integer) c); c = system.in.read(); } c = input.read(); while (c != -1) { output.write(c ^ key.get(i).intvalue()); output.flush(); i++; = % key.size(); } }
}
the loop never end because "c" doesn't changed inside of it. think meant call c = input.read();
inside loop, @ end.
also, btw, should close streams after done them.
Comments
Post a Comment