我正在编写一个程序,我需要远程登录到远程机器,访问文件并对其进行编辑。我能够做远程登录部分。这使我可以访问该系统的 OutputStream 和 InputStream。我可以发送命令并使用 vi 编辑器打开文件。我也能够读取文件的内容
DataInputStream data = new DataInputStream(telnet.getInputStream());
data.readLine().
但我无法写入此文件或编辑它。有什么建议么?
我怀疑您在远程系统上遇到了行编辑问题。我认为使用sed
(如@Jim Garrison 提到的)或使用ed
基于行的编辑器将代替基于键的编辑器,如 vi 或 emacs。
这是一个快速示例,说明如何使用 ed 编辑名为“file”的文件。 man ed
应显示各种功能。
> ed file
file: No such file or directory
i
hello there
.
1
hello there
a
and now append a line
.
1,$n
1 hello there
2 and now append a line
w
34
q
> cat file
hello there
and now append a line