The problem is that I need to read a char, not read-line. I think, Read-line fails because can't find Return.
I've checked this:
(def$method (tty-dialog-mixin :babylon-read-string) (&optional special-keys)
(setq X 0)
(setf exit "")
(loop while (<= X 0) do
(let ((char1 (read-char *standard-input*)))
(cond ((eql char1 nil) (setq X 1))
((eql char1 #\Return) (setq X 1))
((eql char1 #\NewLine) (setq X 1))
((eql char1 #\z) (setq X 1))
(setq exit (concatenate 'string exit (string char1)))
and works fine If I use the z character after a string in Java..., but I don't know why the read-char can't read #\Return, #\Newline, nil...
I think, that If I change in this loop to check eof of *standard-input*, I'll not need the z character, but I don't know how to do it.