public UserManager(String filename){
        InputStream is;
        try {
            is = new FileInputStream(filename);
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
            return;
        }
        try {
            int user_count = NumUtil.readInteger(is);
            for (int i = 0; i < user_count; i++) {
                int user_id = NumUtil.readInteger(is);
                int channels = NumUtil.readInteger(is);

                int name_length = NumUtil.readInteger(is);
                byte name[] = new byte[name_length];
                int name_read = BuffUtil.readStream(is, name, 0, name.length);
                if (name_read != name.length) {
                    throw new IOException("[Uf[^ُ̈");
                }

                int pass_length = NumUtil.readInteger(is);
                byte[] pass = new byte[pass_length];
                int pass_read = BuffUtil.readStream(is, pass, 0, pass.length);
                if (pass_read != pass.length) {
                    throw new IOException("[Uf[^ُ̈");
                }
                User user = new User(new String(name),channels,user_id,pass);
                UserTable.put(new Integer(user_id),user);
            }
        } catch (IOException ex1) {
            ex1.printStackTrace();
            return;
        }
    }