找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 3456|回复: 33

问个java生成创建文件的问题(问题解决一半了,但又出现新问题了)

[复制链接]
发表于 2007-11-22 21:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
请问如何将java 中println生成的内容复制创建到一个文件里?没接触过java,谢谢$汗$

可以生成文件存放println中的内容了,但问题是System.setOut(out)只截取一次控制台中的内容,只循环了一遍就中止了,有什么方法可以解决这个问题么....


   try{   
        File   test   =   new   File("e:\\test.txt");   
        PrintStream   out   =   new   PrintStream(new   FileOutputStream(test));   
        //System.setOut(out);
      
      System.out.println( "case:");
      System.out.println( token.getToken().toCharArray());
      System.out.println("---------------------------------");
   
      
      
      Enumeration en = h.keys();
      while(en.hasMoreElements())  
   {
        Object o = en.nextElement();
        System.out.println("Char " + o + " Jump " + h.get(o) );  
      }
      System.out.println("---------------------------------");
     
    }

      catch(Exception   e){}

[ 本帖最后由 drach 于 2007-11-23 16:29 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-11-22 22:50 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-23 01:54 | 显示全部楼层
如果我没有理解错误,你可以在Konsole启动的时候加上这个(main()在Test.java里):
java Test > Log.txt

就会把所有显示出来的字写到Log.txt了。如果要写到一个其它的文件夹也可以直接用Path比如 C:\Log\MeinLog.txt等等。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 13:09 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 15:19 | 显示全部楼层
原帖由 康猪 于 2007-11-22 21:50 发表
common log or log4j

这个要自己修改log4j $考虑$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 15:20 | 显示全部楼层
原帖由 ─壶酒 于 2007-11-23 00:44 发表
或者可以参考System.setOut(PrintStream out) 方法。



能详细说明下么,比如如何把println()输出的内容存到文件里$汗$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 12:41 | 显示全部楼层
啥叫只循环了一遍就中止了??  catch(Exception   e){}有没有发生异常,如果有stacktrace是什么?还是文件本身结束了,还是....$考虑$ , 问题先要说清楚.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-24 14:37 | 显示全部楼层
原帖由 renzaijianghu 于 2007-11-24 11:41 发表
啥叫只循环了一遍就中止了??  catch(Exception   e){}有没有发生异常,如果有stacktrace是什么?还是文件本身结束了,还是....$考虑$ , 问题先要说清楚.


下面那个println是循环打印一组数据,这组数据和hashtabel的key关联,try catch没啥问题,只要注释掉system.setOut后程序就能正常运行了,如果加上system.setOut,让它截取数据流打印到文件上,下面的println就只显示第一组数据
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 15:05 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 15:10 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 16:15 | 显示全部楼层
"如果加上system.setOut,让它截取数据流打印到文件上,下面的println就只显示第一组数据"$考虑$ ,你首先要明白,不管输出到什么地方,只要没出现异常,原来要输出的肯定还能正常输出, 要不就是输出到文件,要不就是到屏幕, 只显示一组,你必须打印堆栈,不能 catch(Exception   e){},象你这样,显然只能得到"try catch没啥问题"的结论. 我说的只不过是分析问题的一般方法,实际跟java没太大关系.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 16:45 | 显示全部楼层
原帖由 康猪 于 2007-11-24 14:10 发表
不需要写代码
而且还可以追加
>>log.txt
对阿,也建议LZ用这个,我在上面也提过。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 16:47 | 显示全部楼层
原帖由 turtles 于 2007-11-24 15:45 发表
对阿,也建议LZ用这个,我在上面也提过。


我说地就是你的办法呀:D
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 17:21 | 显示全部楼层
原帖由 康猪 于 2007-11-24 15:47 发表


我说地就是你的办法呀:D
是阿:D 不过还是有一点点区别的。我用>log.txt,你用 >>log.txt

>  log.txt: 把老的删除,全部重新写
>>log.txt: 继续用一个文件,保存下来以前的内容
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-24 17:59 | 显示全部楼层
是直接加一句 >>log.txt 么,不过这个命令是输出日志吧,我只要特定的consel里面的显示结果
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 19:40 | 显示全部楼层
对阿,就在konsole那里加上 >log.txt 或者 >>log.txt就可以了。然后在这个文件里只有显示结果没有其他的。另外在konsole会没有显示结果了。

最好你试一下看看效果怎么样。普通的>log.txt就好了。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-24 20:31 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 20:40 | 显示全部楼层
比如你启动一个Java的Programm叫 HelloWorld.

那你就写 java HelloWorld > log.txt 就行了。

比如你在这个文件夹jboss (C:\jboss)写上面这个,那个log.txt也会存到这个文件夹。

如果要存到其他的地方你可以直接写 全部的Path比如 C:\MeineLogDaten\log.txt等等,不要只写log.txt。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-24 22:10 | 显示全部楼层
原帖由 turtles 于 2007-11-24 19:40 发表
比如你启动一个Java的Programm叫 HelloWorld.

那你就写 java HelloWorld > log.txt 就行了。

比如你在这个文件夹jboss (C:\jboss)写上面这个,那个log.txt也会存到这个文件夹。

如果要存到其他的地方你 ...


还能这样用$考虑$ 不需要声明什么包么

还有能否同时再显示内容到console上$frage$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-24 22:37 | 显示全部楼层
同时显示是可以的,不过比较麻烦。

我自己没有试过,所以也不清楚。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 00:21 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 00:26 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 01:58 | 显示全部楼层
原帖由 康猪 于 2007-11-24 23:26 发表
turtles 你地毛呢?
地毛?什么意思啊,我中文不好..$frage$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 02:31 | 显示全部楼层

回复 #24 turtles 的帖子

你的头发啊胡子啊,本来很帅啊,现在光溜溜的了:D
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 02:36 | 显示全部楼层
原帖由 康猪 于 2007-11-25 01:31 发表
你的头发啊胡子啊,本来很帅啊,现在光溜溜的了:D
哦,我自己换得。一共有14个猪,自己可以免费改阿,哈哈。那个比较适合老外阿,还有我也没有这个老,最少我的心里的年龄还没有这个大:)


看来我还是换回去好,哈哈。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 02:38 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-25 02:43 | 显示全部楼层
我在这里论坛看到很多这样不同的猪脑袋,可能就是这个系列把。满有趣的:)
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 12:14 | 显示全部楼层
我加了这一句,但显示错误啊,是不是要加个log4j的包$考虑$

java JumpTableEntry > e:\log.txt ;
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2007-11-26 12:25 | 显示全部楼层
确定程序编译
确定运行时classpath设置好了
确定程序运行显示想要的结果
然后
如果要单纯把标准输出存入文件
java JumpTableEntry > e:\log.txt ;
如果既要存入文件又要显示在输出上
java JumpTableEntry | tee e:\log.txt;

管道,重定向在windows cmd上和linux shell上都能用,不存在命令问题

检查java程序!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 13:28 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

我是开心果

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-6-21 09:06 , Processed in 0.122122 second(s), 33 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表