java在telnet下接收dos输出内容

zings 2009-12-02 09:20:35
加入在telnet的dos下输入dir c:\ 结果会产生很多目录。。。
我如何用Java语言实现在本地接收这些目录信息。。??

说明:
1. dir c:\ 是个不可更改的bat文件,有可能是exe文件,本来用dir c:\ >dir.txt可以用文本接收这些目录信息,但是,bat是不可以更改的。。。再,生成的dir.txt不是在本地,又要通过协议将dir.txt取回。。。地方不支持任何你想的服务(ftp
,共享等)

2. Java实现用dos本地接收这些命令又是如何呢?
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zings 2009-12-04
  • 打赏
  • 举报
回复
谢谢。。。学习了。。。
bayougeng 2009-12-03
  • 打赏
  • 举报
回复
Stream这个后缀的,是字节流。用来读任何格式数据的。
Reader,Writer后缀的,是字符流。用来读写字符数据的,所以只有Reader才有readLine方法。
如果要转换的话,有InputStreamReader这些过滤流,可以做转换。
这样的话,不用把byte读出来再new String了。
zings 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bayougeng 的回复:]
DataInputStream
你不要用这个流,这个是读数据用的。
应该用Reader。
InputStreamReader这个类的某个构造方法里可以传字符集编码的,你可以试试。
[/Quote]

哦 ,谢谢楼上的大哥。。。
我用的telnet。。网上找的代码。。用的流是 private InputStream in;
private PrintStream out;
这两个。。。

不知道有什么区别???read也可以读数据啊,也可以读文件。。。
请指点!!

还有远程获取的乱码解决了

new String(sb.toString().getBytes("iso8859-1"),"gb2312");

就这样,。。。不过还是有乱码,应该是某种格式的乱码。。。汉字显示正常。。。。
bayougeng 2009-12-03
  • 打赏
  • 举报
回复
DataInputStream
你不要用这个流,这个是读数据用的。
应该用Reader。
InputStreamReader这个类的某个构造方法里可以传字符集编码的,你可以试试。
bayougeng 2009-12-03
  • 打赏
  • 举报
回复
	public static void main(String[] args) throws Exception {
Process p = Runtime.getRuntime().exec("ping 127.0.0.1");
BufferedReader reader = new BufferedReader(new InputStreamReader(p
.getInputStream()));

String s = null;
while ((s = reader.readLine()) != null) {
System.out.println(s);
}

p.destroy();
}
zings 2009-12-03
  • 打赏
  • 举报
回复
淹没了啊。。。。
没人知道???高手请指点啊!!!
zings 2009-12-02
  • 打赏
  • 举报
回复
各位大大。。。闲暇有时间看见的帮忙解决下。。。谢谢。。。。
zings 2009-12-02
  • 打赏
  • 举报
回复
怎么没人回答,高手请指点一下啊!!谢谢。。。

本地的接收文件,我已经解决,网上找的:

public MsDosOutput() {
}
public static void main(String[] args) {
try {
String cmd = "cmd dir f:>>f:/aaa.txt";
String cmd1 = "cmd net view";
Process child = Runtime.getRuntime().exec(cmd1);

// 获得dir的输出
InputStream child_in = child.getInputStream() ;

DataInputStream in=new DataInputStream(child_in);

int c;
String szstr1="";
while ((szstr1 = in.readLine())!=null){
System.out.print(szstr1);
}
child_in.close();
in.close() ;
} catch (IOException e) {
System.err.println(e);
}
}

}
但是控制台有乱码问题,只要是汉字就识别不了!!!请问下这个如何解决。。。


telnet下面,我将输出的所有信息都stringbuffer了。。。输出也有汉字问题,为其排列很有问题,望高手指点!!!!

同仁一起讨论!!!

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧