把项目编码修改为UTF8,直接输出的文件在 console里虽然是乱码,但是文件是正确的。这个是什么原因造成的?
连接各个ftp还要处理编码问题,各个ftp所使用的编码可能不同,有的使用gbk,而另外的则可能使用UTF8。 编码问题的处理也是要遇到的一个重要问题。
搞了半天,原来Jython 2.5.0 不支持东亚语言啊。。。。 现在只能用Jython了,因为涉及的字符处理是有中文字符的。
现在不能直接用Jython来进行数据处理了。
从代码看,jython的gbk.py是从cpython拿来的,但它用到了一个c模块_codec_cn,在jython中没有相应的实现,所以jython中加载gbk.py会出错,导致lookup error.
变通的方法,是使用 Python,然后通过 Java的Runtime进行调用吧。
变通做法,不使用Jython,直接通过Java 调用Python程序
看来Jython还是有很多问题。虽然是一些小问题,但是在这些小问题上要耗费大量的时间。
可以先在Python上编码调试,没问题后,直接用Java调用。不涉及对象的传递,仅仅是两个连起来的过程。 这是一种做法,这样Java代码和Python代码也是分开写的, Python代码可以脱离JVM环境运行。
通过这种方式截取console输出,有点特别,呵呵
把一个对象赋给 sys.stdout ,这样标准输出都被那个对象截取了?
没想到,还专门有个StringIO类。。。
通过getValue就可以把 标准输出读出来了。。。
可以直接返回buflist啊。。。直接返回buf是不行的,需要先getValue,该过程会把List里的值处理后给buf