예제 #1
0
import reflect
import sys

RandomAccessFile = reflect.get_class('java.io.RandomAccessFile')
System = reflect.get_class('java.lang.System')


class JavaFile:
    def __init__(self, input=None, output=None):
        self.in_f = input
        self.out_f = output

    def read(self, size=1000000000):  # power not yet implemented = 2**30
        result = []
        dest = bytearray(1024)
        while size:
            if size < 1024:
                buff = size
            else:
                buff = 1024
            n = self.in_f.read(dest, 0, buff)
            if n in (0, -1):
                break
            size -= n
            result.append(dest.to_string(0, n))
        return ''.join(result)

    def read_char(self):
        code = self.in_f.read()
        return chr(code) if code != -1 else ''
예제 #2
0
파일: socket.py 프로젝트: zielmicha/pyjvm
import reflect
import os

Socket = reflect.get_class('java.net.Socket')

class socket:
    def __init__(self):
        pass

    def connect(self, address):
        (addr, port) = address
        self._socket = Socket.new(addr, port)

    def makefile(self, mode='r+'):
        return os.JavaFile(self._socket.getInputStream(), self._socket.getOutputStream())

예제 #3
0
파일: main.py 프로젝트: zielmicha/pyjvm
def deep_recur(i):
	if i != 0:
		return deep_recur(i - 1)

deep_recur(3000)

s = '123' * 3000
a = []
for i in xrange(10):
	a.append(s)
assert ''.join(a) == s * 10

import reflect

f = reflect.get_class('java.io.FileInputStream')

file = f.new('main.py')
assert file.read() == 35 # 35 is code of '#'

import os

f = os.File('main.py')
assert f.read(20) == "# Copyright (C) 2011"

l = [1, 2, 3]
l2 = list(xrange(20))

assert max(2, 3, 1, 5, 3) == 5
assert max(2, 3, 1) == 3
assert max([1, 2, 3]) == 3
예제 #4
0
import reflect

JFrame = reflect.get_class('javax.swing.JFrame')
JButton = reflect.get_class('javax.swing.JButton')
ActionListener = reflect.get_class('java.awt.event.ActionListener')


def click(ev):
    print 'Hello world!'


f = JFrame.new()
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
button = JButton.new('Hello, world!')
button.addActionListener(
    reflect.implement(ActionListener, {'actionPerformed': click}))
f.add(button)
f.pack()
f.setVisible(True)
예제 #5
0
파일: main.py 프로젝트: zielmicha/pyjvm
import reflect

JFrame = reflect.get_class('javax.swing.JFrame')
JButton = reflect.get_class('javax.swing.JButton')
ActionListener = reflect.get_class('java.awt.event.ActionListener')

def click(ev):
    print 'Hello world!'

f = JFrame.new()
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
button = JButton.new('Hello, world!')
button.addActionListener(reflect.implement(ActionListener, {'actionPerformed': click}))
f.add(button)
f.pack()
f.setVisible(True)
예제 #6
0
파일: socket.py 프로젝트: weimingtom/pyjvm
import reflect
import os

Socket = reflect.get_class('java.net.Socket')


class socket:
    def __init__(self):
        pass

    def connect(self, address):
        (addr, port) = address
        self._socket = Socket.new(addr, port)

    def makefile(self, mode='r+'):
        return os.JavaFile(self._socket.getInputStream(),
                           self._socket.getOutputStream())
예제 #7
0
파일: os.py 프로젝트: zielmicha/pyjvm
import reflect
import sys

RandomAccessFile = reflect.get_class('java.io.RandomAccessFile')
System = reflect.get_class('java.lang.System')

class JavaFile:
    def __init__(self, input=None, output=None):
        self.in_f = input
        self.out_f = output

    def read(self, size=1000000000): # power not yet implemented = 2**30
        result = []
        dest = bytearray(1024)
        while size:
            if size < 1024:
                buff = size
            else:
                buff = 1024
            n = self.in_f.read(dest, 0, buff)
            if n in (0, -1):
                break
            size -= n
            result.append(dest.to_string(0, n))
        return ''.join(result)

    def read_char(self):
        code = self.in_f.read()
        return chr(code) if code != -1 else ''

    def readline(self):
예제 #8
0
파일: main.py 프로젝트: weimingtom/pyjvm
def deep_recur(i):
    if i != 0:
        return deep_recur(i - 1)


deep_recur(3000)

s = '123' * 3000
a = []
for i in xrange(10):
    a.append(s)
assert ''.join(a) == s * 10

import reflect

f = reflect.get_class('java.io.FileInputStream')

file = f.new('main.py')
assert file.read() == 35  # 35 is code of '#'

import os

f = os.File('main.py')
assert f.read(20) == "# Copyright (C) 2011"

l = [1, 2, 3]
l2 = list(xrange(20))

assert max(2, 3, 1, 5, 3) == 5
assert max(2, 3, 1) == 3
assert max([1, 2, 3]) == 3
예제 #9
0
파일: time.py 프로젝트: weimingtom/pyjvm
import reflect

System = reflect.get_class('java.lang.System')

def clock():
    return System.currentTimeMillis() / 1000.