2012-04-27 12 views
0

私はリモートマシンにtelnetしてファイルにアクセスして編集する必要があるプログラムを作成しています。 私はtelnet部分を行うことができます。 これにより、そのシステムのOutputStreamとInputStreamにアクセスできます。私はコマンドを送信し、viエディタを使ってファイルを開くことができます。私はまた、ファイルの内容を読むことができますjavaでviエディタを使ってファイルを編集する

DataInputStream data = new DataInputStream(telnet.getInputStream()); 
data.readLine(). 

しかし、私はこのファイルに書き込むか、編集することができません。 提案がありますか?

+2

viを使用するのではなく、あなたが 'sed'スクリプトに関して行う必要があることを表現できますか?これにより、画面をナビゲートする必要がなくなります。 –

+0

リモートマシンのユーザーにファイルへの書き込み権限がありますか? –

+0

どのapiを使ってtelnetを使っていますか?私はあなたが 'visual **コマンドであり、' stdin'/'stdout'ではなく、デバイスのキーボードとやり取りするので、' vi'を使うことはできないと思っています。変更はどのように提供されますか? –

答えて

1

リモートシステムで行編集の問題が発生している可能性があります。私は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 
関連する問題