Archief - Java Probleem'ke, code inside

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

tmagus

Legacy Member
Hoi,

Heb effen wat hulp/info nodig. Heb hier net een applet klasse gedecompiled naar een java bestand. Allemaal goed en wel maar als ik die java zelf terug wil compilen wil die dus NIET werken.

Het probleem ligt dus bij het volgende: Blijkbaar maakt die klasse gebruik van "goto" statements. (zie hier onder voor een vb stukje van de code). Ik werk met eclips en java SE 1.6. En natuurlijk geeft hem al die goto's als Fout aan en al die labels ook.

Nu vraag ik mij dus af hoe ik dit dus werkend krijg? Mss heb ik gewoon de verkeerde java compiler voor die klasse? Ander (lagere) versie nodig mss of een van de ander versie's zoals EE of ME?

Alvast bedankt aan de gene die dat hier effen kan uitleggen of toelichten :d

Code:
_L6:
                String s26;
                if(cancelAll || !flag9)
                    break MISSING_BLOCK_LABEL_1482;
                byte abyte1[] = new byte[1];
                boolean flag12 = true;
                do
                {
                    int i3;
                    if(cancelAll || !flag12 || (i3 = bufferedinputstream.read(abyte1, 0, 1)) <= 0)
                        break;
                    abyte0[j4++] = abyte1[0];
                    if(abyte1[0] == 10)
                        flag12 = false;
                } while(true);
                abyte0[j4++] = 0;
                s26 = new String(abyte0, 0, j4 - 2);
                if(s26 == null) goto _L4; else goto _L3
_L3:
                if(s26.startsWith("EndTime:"))
                    l5 = Long.parseLong(s26.substring(9)) + Long.parseLong(s21);
                if(s26.startsWith("STATUS: LOADOK"))
                    flag7 = false;
                if(s26.startsWith("STATUS: MORE"))
                {
                    s25 = s18;
                    s18 = "" + l5;
                }
                if(s26.startsWith("STATUS: ERR"))
                {
                    flag7 = false;
                    firstLabel.setText(langStrings[3]);
                    return;
                }
                if(s26.startsWith("START_FILE"))
                {
                    j2 = Integer.parseInt(s26.substring(12));
                    flag9 = false;
                }
_L4:
                j4 = 0;
                if(true) goto _L6; else goto _L5
_L5:
                FileOutputStream fileoutputstream1 = new FileOutputStream(s17);
                boolean flag13 = false;
                if(flag6)
                {
                    flag6 = false;

forloRn_

Legacy Member
Dat kan je niet compileren, met geen enkele compiler. Goto is een gereserveerd woord in Java (je kan het niet als identifier gebruiken), maar wordt verder niet ondersteund.
Labels kent Java wel, maar enkel om met behulp van break en continue uit geneste loops te springen.

Hier vind je meer informatie: goto statement (Java in General (intermediate) forum at JavaRanch)

OT: wat is dat met al die Java-vragen tegenwoordig? Zijn de studentjes in paniek aan 't schieten?

tmagus

Legacy Member
No clue about studenten :p ma ik geen student :p

Ja ik weet dat dus dat goto een gereseveerd woord is in java en dat het niet ondersteund wordt (had ik ook al allemaal opgezocht).

Maar zoals ik al zei komt die code van een applet.

Die applet applicatie wordt gebruikt door XWEB500 (webserver die het regelen van diepvriezers enz mogelijk maakt), die xweb500 houd dus gegevens bij die via een web interface kunnen worden bekeken. Er zit ook een export functie op voor de gegevens te exporteren.

Die export functie roept dus een Java Applet op en genereer een excel file met de gegevens van alle frigo's (om de 15 min wordt een temperatuur meting bijgehouden).

Nu wou ik dus eens zien hoe dat in zijn werk gaat. En heb ik de export.jar gedownload die gebruikt wordt voor die Java Applet applicatie. Heb die dus ge export en kreeg dan de volgende bestanden (in kort):
* nen Logger
* jxl jar (voor excel files te manipuleren)
* Export.class
* Export$1.class
* Export$SimpleFileFilter.class

Ik ben dan een java project gemaakt met die jxl.jar in, Logger en die 3 classen gedecompiled naar java.

En dit was dus het resultaat voor die Export.class (die dus de Applet klasse is). Heb het in spoiler tags gezet want anders is het zo'n kleine 1000 lijnen lang.

En daar staan dus al die goto's in...als die applet werkt op mijne pc (want ik kan dus via dat die gegevens exporteren) moet er toch iets zijn waardoor java die goto's "verstaat" en uitvoerd anders zou het simple weg toch niet werken in een client side applet?



Code:
// Decompiled by DJ v3.10.10.93 Copyright 2007 Atanas Neshkov  Date: 9/03/2009 14:49:41
// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   Export.java

import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
import java.util.zip.GZIPInputStream;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import jxl.*;
import jxl.format.*;
import jxl.write.*;

public class Export extends Applet
    implements ActionListener
{
    public class SimpleFileFilter extends FileFilter
    {

        public boolean accept(File file)
        {
            if(file.isDirectory())
                return true;
            String s = file.getName().toLowerCase();
            for(int i = extensions.length - 1; i >= 0; i--)
                if(s.endsWith(extensions[i]))
                    return true;

            return false;
        }

        public String getDescription()
        {
            return description;
        }

        String extensions[];
        String description;

        public SimpleFileFilter(String s)
        {
            this(new String[] {
                s
            }, null);
        }

        public SimpleFileFilter(String as[], String s)
        {
            extensions = new String[as.length];
            for(int i = as.length - 1; i >= 0; i--)
                extensions[i] = as[i].toLowerCase();

            description = s != null ? s : as[0] + " files";
        }
    }


    public Export()
    {
        myLang = "en";
        langStrings = new String[40];
        blu_scuro = new Color(0x9db5cd);
        blu_chiaro = new Color(0x6593b1);
        blu_mix = new Color(0xbcd3e7);
        blu_dixell = new Color(14699);
        sendok = 0;
        MAX_EXCEL_RECORDS = 65532;
        MAX_BUFFER = 10240;
        cancelAll = false;
        nDvc = 0;
        mySelf = this;
        isWindows = false;
        strPort = "";
        activeString = "ACTIVE";
        deactiveString = "DEACTIVE";
    }

    public void actionPerformed(ActionEvent actionevent)
    {
        if(actionevent.getActionCommand() == "cancBut")
        {
            cancelButton.setEnabled(false);
            cancelAll = true;
        } else
        {
            if(actionevent.getActionCommand() == "evmw")
            {
                sendok = 3636;
                waitWindow.setVisible(false);
                try
                {
                    getAppletContext().showDocument(new URL("http://" + getCodeBase().getHost() + "/closew.html"));
                }
                catch(Exception exception) { }
                waitWindow = null;
                return;
            }
            if(actionevent.getActionCommand() == "closeAll")
            {
                try
                {
                    getAppletContext().showDocument(new URL("http://" + getCodeBase().getHost() + "/closew.html"));
                }
                catch(Exception exception1) { }
                waitWindow = null;
                return;
            }
            if(actionevent.getActionCommand() == "2evmw")
                waitWindow.setVisible(false);
        }
    }

    public void init()
    {
        int j = getCodeBase().getPort();
        if(j > 0)
            strPort = ":" + j;
        timezone = getParameter("TimeZone");
        if(timezone == null)
            timezone = "CET";
        boolean flag = false;
        Date date = new Date();
        String as[] = TimeZone.getAvailableIDs();
        for(int i = 0; !flag && i < as.length; i++)
        {
            TimeZone timezone1 = TimeZone.getTimeZone(as[i]);
            String s = timezone1.getDisplayName(timezone1.inDaylightTime(date), 0);
            if(!s.equals(timezone))
                continue;
            flag = true;
            int k = timezone1.getRawOffset();
            int l = k / 0x36ee80;
            int i1 = Math.abs(k / 60000) % 60;
            boolean flag2 = timezone1.inDaylightTime(date);
            if(flag2)
                l++;
            String s8 = "";
            String s9 = "";
            if(l >= 0)
                s8 = "+";
            if(l < 0)
                s8 = "-";
            if(l > -9 || l < 9)
                s8 = s8 + "0";
            s8 = s8 + Math.abs(l);
            if(i1 < 9)
                s9 = "0";
            s9 = s9 + i1;
            timezone = "GMT" + s8 + ":" + s9;
            System.err.println("Timezone (including DST) converted to: " + timezone);
        }

        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
        screenX = dimension.width;
        screenY = dimension.height;
        if(getParameter("LANGSTR") != null)
            myLang = getParameter("LANGSTR");
        try
        {
            URL url = new URL("http://" + getCodeBase().getHost() + strPort + "/cgi-bin/getlang.cgi");
            URLConnection urlconnection = url.openConnection();
            urlconnection.setDoOutput(true);
            PrintWriter printwriter = new PrintWriter(urlconnection.getOutputStream());
            printwriter.println("LANGTEXT=" + myLang + "|applet-export|TOTALDNLOAD|CANCELBUT|DNUIDLABEL|DNLERROR|DNLFINISH|DNLABORT|TOOMANY|WARNDIA|JVM_MSG_1|JVM_MSG_2|JVM_MSG_3|JVM_MSG_4|BUTCONT|MAXREC|MAXARRIVED|BUTFINE|");
            printwriter.close();
            BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(urlconnection.getInputStream()));
            int k1 = 0;
            String s1;
            while((s1 = bufferedreader.readLine()) != null) 
                langStrings[k1++] = s1;
            bufferedreader.close();
        }
        catch(Exception exception)
        {
            System.err.println(exception);
        }
        try
        {
            if(System.getProperty("java.vendor").indexOf("Sun") != -1)
            {
                boolean flag1 = false;
                String s2 = System.getProperty("deployment.user.home");
                String s4 = "javaplugin.jre.params=-Xmx768m";
                if(s2 == null)
                {
                    s2 = System.getProperty("user.home");
                    String s5 = System.getProperty("java.runtime.version");
                    int j1 = s5.indexOf('-');
                    if(j1 == 0)
                        s4 = "deployment.javapi.jre." + s5 + ".args=-Xmx768m";
                    else
                        s4 = "deployment.javapi.jre." + s5.substring(0, j1) + ".args=-Xmx768m";
                    flag1 = true;
                }
                boolean flag3 = true;
                boolean flag5 = false;
                if(System.getProperty("os.name").indexOf("Windows") != -1)
                {
                    isWindows = true;
                    s4 = s4 + "\r\n";
                    s2 = s2 + "\\";
                    if(flag1)
                        s2 = s2 + "Application Data\\Sun\\Java\\Deployment\\";
                } else
                {
                    s4 = s4 + "\n";
                    s2 = s2 + "/";
                    if(flag1)
                        s2 = s2 + ".java/deployment/";
                }
                s2 = s2 + "deployment.properties";
                System.err.println(s2);
                try
                {
                    FileReader filereader = new FileReader(s2);
                    BufferedReader bufferedreader1 = new BufferedReader(filereader);
                    do
                    {
                        String s6;
                        if((s6 = bufferedreader1.readLine()) == null)
                            break;
                        if(flag1)
                        {
                            if(s6.indexOf("deployment.javapi.jre") != -1 && s6.indexOf("-Xmx768m") != -1)
                                flag3 = false;
                        } else
                        if(s6.indexOf("javaplugin.jre.params") != -1 && s6.indexOf("-Xmx768m") != -1)
                            flag3 = false;
                    } while(true);
                    bufferedreader1.close();
                    filereader.close();
                    if(flag3)
                    {
                        FileWriter filewriter2 = new FileWriter(s2, true);
                        filewriter2.write(s4, 0, s4.length());
                        filewriter2.close();
                        flag5 = true;
                        flag3 = false;
                    }
                }
                catch(Exception exception2)
                {
                    System.err.println(exception2);
                }
                if(flag3)
                    try
                    {
                        FileWriter filewriter = new FileWriter(s2, true);
                        filewriter.write(s4, 0, s4.length());
                        filewriter.close();
                        flag5 = true;
                        flag3 = false;
                    }
                    catch(Exception exception3)
                    {
                        System.err.println(exception3);
                    }
                if(flag3 && flag1)
                {
                    String s10 = System.getProperty("deployment.user.logdir");
                    String s3 = s10.substring(0, s10.length() - 3) + "deployment.properties";
                    try
                    {
                        try
                        {
                            FileReader filereader1 = new FileReader(s3);
                            BufferedReader bufferedreader2 = new BufferedReader(filereader1);
                            do
                            {
                                String s7;
                                if((s7 = bufferedreader2.readLine()) == null)
                                    break;
                                if(s7.indexOf("deployment.javapi.jre") != -1 && s7.indexOf("-Xmx768m") != -1)
                                    flag3 = false;
                            } while(true);
                            bufferedreader2.close();
                            filereader1.close();
                        }
                        catch(Exception exception4) { }
                        if(flag3)
                        {
                            FileWriter filewriter1 = new FileWriter(s3, true);
                            filewriter1.write(s4, 0, s4.length());
                            filewriter1.close();
                            flag5 = true;
                            boolean flag4 = false;
                        }
                    }
                    catch(Exception exception5)
                    {
                        System.err.println(exception5);
                    }
                }
                if(flag5)
                {
                    waitWindow = new JDialog(new JFrame(), langStrings[7], true);
                    waitWindow.getContentPane().setBackground(blu_chiaro);
                    waitWindow.getContentPane().setForeground(Color.black);
                    waitWindow.setBounds(screenX / 2 - 300, screenY / 2 - 90, 600, 180);
                    waitWindow.getContentPane().setLayout(new GridLayout(0, 1));
                    waitWindow.add(new JLabel(langStrings[8], 0));
                    waitWindow.add(new JLabel(langStrings[9], 0));
                    waitWindow.add(new JLabel(langStrings[10], 0));
                    waitWindow.add(new JLabel(langStrings[11], 0));
                    Panel panel = new Panel();
                    JButton jbutton = new JButton(langStrings[12]);
                    jbutton.setActionCommand("evmw");
                    jbutton.addActionListener(this);
                    panel.add(jbutton);
                    waitWindow.add(panel);
                    waitWindow.setVisible(true);
                    if(sendok == 3636)
                        return;
                }
            }
        }
        catch(Exception exception1)
        {
            System.err.println(exception1);
        }
        firstLabel = new JLabel("", 0);
        secondLabel = new JLabel(langStrings[0], 0);
        firstProgress = new JProgressBar(0, 100);
        firstProgress.setStringPainted(true);
        nDvc = Integer.parseInt(getParameter("nDvc"));
        secondProgress = new JProgressBar(0, nDvc);
        secondProgress.setStringPainted(true);
        setBackground(blu_scuro);
        setForeground(Color.BLACK);
        setLayout(new GridLayout(0, 1));
        add(firstLabel);
        add(firstProgress);
        add(secondLabel);
        add(secondProgress);
        JPanel jpanel = new JPanel();
        jpanel.setBackground(blu_scuro);
        jpanel.setForeground(Color.BLACK);
        cancelButton = new JButton(langStrings[1]);
        cancelButton.setActionCommand("cancBut");
        cancelButton.addActionListener(this);
        jpanel.add(cancelButton);
        add(jpanel);
        (new Thread() {

            public void run()
            {
                int l1;
                
                String s13;
                String s14;
                long l2;
                File file;
                WritableCellFormat writablecellformat;
                WritableCellFormat writablecellformat1;
                WritableCellFormat writablecellformat2;
                CellView cellview;
                String s17;
                String s11 = "";
                JFileChooser jfilechooser = new JFileChooser();
                jfilechooser.addChoosableFileFilter(new SimpleFileFilter("*.xls"));
                s13 = "export_" + getParameter("SYSDESC") + "_" + createMyDate_short(Long.parseLong(getParameter("StartTime")) * 1000L) + "_" + createMyDate_short(Long.parseLong(getParameter("EndTime")) * 1000L) + ".xls";
                s14 = "";
                String s15 = "";
                l2 = 0L;
                jfilechooser.setSelectedFile(new File(s13));
                if(jfilechooser.showSaveDialog(mySelf) != 0)
                    break MISSING_BLOCK_LABEL_3136;
                file = jfilechooser.getSelectedFile();
                try
                {
                    WorkbookSettings workbooksettings = new WorkbookSettings();
                    workbooksettings.setGCDisabled(false);
                    workbooksettings.setInitialFileSize(0x80000);
                    workbooksettings.setArrayGrowSize(0x80000);
                    workbook = Workbook.createWorkbook(file, workbooksettings);
                }
                catch(Exception exception6)
                {
                    System.err.println("Error creating workbook: " + exception6);
                }
                WritableFont writablefont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLUE);
                writablecellformat = new WritableCellFormat(writablefont);
                WritableFont writablefont1 = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.GREEN);
                writablecellformat1 = new WritableCellFormat(writablefont1);
                try
                {
                    writablecellformat1.setAlignment(Alignment.CENTRE);
                    writablecellformat1.setShrinkToFit(false);
                    writablecellformat.setAlignment(Alignment.CENTRE);
                    writablecellformat.setShrinkToFit(false);
                    writablecellformat.setBackground(Colour.YELLOW);
                }
                catch(Exception exception7)
                {
                    System.err.println("fmtcrea: " + exception7);
                }
                writablecellformat2 = new WritableCellFormat();
                try
                {
                    writablecellformat2.setAlignment(Alignment.CENTRE);
                    writablecellformat2.setShrinkToFit(false);
                }
                catch(Exception exception8)
                {
                    System.err.println("valfmtcrea: " + exception8);
                }
                cellview = new CellView();
                cellview.setSize(6144);
                s17 = "";
                if(isWindows)
                    s17 = "C:\\";
                else
                    s17 = "/tmp/";
                s17 = s17 + "dixtemp1234.dat";
                l1 = 0;
_L9:
                if(cancelAll || l1 >= nDvc) goto _L2; else goto _L1
_L1:
                long l3;
                long l4;
                String s18;
                String s19;
                String s20;
                String s21;
                String s22;
                boolean flag6;
                long l5;
                WritableSheet writablesheet;
                l3 = Long.parseLong(getParameter("StartTime"));
                l4 = Long.parseLong(getParameter("EndTime"));
                s18 = getParameter("StartTime");
                s19 = getParameter("EndTime");
                s20 = getParameter(l1 + "-UID");
                s21 = getParameter("SampleTime");
                if(s21.equals("0"))
                    s21 = "1";
                s22 = getParameter(l1 + "-ID");
                flag6 = true;
                l5 = 0L;
                writablesheet = workbook.createSheet(getParameter(l1 + "-UID") + " " + getParameter(l1 + "-DispName"), l1);
                firstLabel.setText(langStrings[2] + " " + s20);
                StringTokenizer stringtokenizer = new StringTokenizer(getParameter(l1 + "-NAME"), "|");
                int i2 = 0;
                try
                {
                    lab2 = new Label(i2++, 0, "Date-Time", writablecellformat);
                    writablesheet.addCell(lab2);
                    writablesheet.setColumnView(i2 - 1, cellview);
                    for(; stringtokenizer.hasMoreTokens(); writablesheet.setColumnView(i2 - 1, cellview))
                    {
                        lab2 = new Label(i2++, 0, stringtokenizer.nextToken(), writablecellformat);
                        writablesheet.addCell(lab2);
                    }

                }
                catch(Exception exception10)
                {
                    System.err.println("Err cellFmtAdd: " + exception10);
                }
                String s12;
                FileOutputStream fileoutputstream;
                byte abyte0[];
                boolean flag7;
                if(System.getProperty("os.name").indexOf("Windows") != -1)
                    s12 = "C:\\XWEB500-" + s20 + ".TXT";
                else
                    s12 = "XWEB500-" + s20 + ".TXT";
                fileoutputstream = new FileOutputStream(s12);
                abyte0 = new byte[MAX_BUFFER];
                flag7 = true;
                firstProgress.setValue(0);
_L8:
                BufferedInputStream bufferedinputstream;
                int j2;
                boolean flag9;
                int j4;
                String s25;
                if(cancelAll || !flag7)
                    break MISSING_BLOCK_LABEL_1902;
                URL url1 = new URL("http://" + getCodeBase().getHost() + strPort + "/cgi-bin/viewLog.cgi?pg=5&UID=" + s20 + "&StartTime=" + s18 + "&EndTime=" + s19 + "&SampleTime=" + s21 + "&ID=" + s22);
                URLConnection urlconnection1 = url1.openConnection();
                bufferedinputstream = new BufferedInputStream(urlconnection1.getInputStream());
                j2 = 1;
                boolean flag8 = false;
                flag9 = true;
                boolean flag10 = false;
                j4 = 0;
                boolean flag11 = false;
                s25 = "";
_L6:
                String s26;
                if(cancelAll || !flag9)
                    break MISSING_BLOCK_LABEL_1482;
                byte abyte1[] = new byte[1];
                boolean flag12 = true;
                do
                {
                    int i3;
                    if(cancelAll || !flag12 || (i3 = bufferedinputstream.read(abyte1, 0, 1)) <= 0)
                        break;
                    abyte0[j4++] = abyte1[0];
                    if(abyte1[0] == 10)
                        flag12 = false;
                } while(true);
                abyte0[j4++] = 0;
                s26 = new String(abyte0, 0, j4 - 2);
                if(s26 == null) goto _L4; else goto _L3
_L3:
                if(s26.startsWith("EndTime:"))
                    l5 = Long.parseLong(s26.substring(9)) + Long.parseLong(s21);
                if(s26.startsWith("STATUS: LOADOK"))
                    flag7 = false;
                if(s26.startsWith("STATUS: MORE"))
                {
                    s25 = s18;
                    s18 = "" + l5;
                }
                if(s26.startsWith("STATUS: ERR"))
                {
                    flag7 = false;
                    firstLabel.setText(langStrings[3]);
                    return;
                }
                if(s26.startsWith("START_FILE"))
                {
                    j2 = Integer.parseInt(s26.substring(12));
                    flag9 = false;
                }
_L4:
                j4 = 0;
                if(true) goto _L6; else goto _L5
_L5:
                FileOutputStream fileoutputstream1 = new FileOutputStream(s17);
                boolean flag13 = false;
                if(flag6)
                {
                    flag6 = false;
                    if(!flag7)
                    {
                        firstProgress.setMaximum(j2 + 1);
                    } else
                    {
                        float f = 1.0F / ((float)(l5 - Long.parseLong(s25)) / (float)(Long.parseLong(s19) - Long.parseLong(s25)));
                        firstProgress.setMaximum((int)(f * (float)j2 + (float)j2 * 0.05F));
                    }
                    firstProgress.setValue(0);
                } else
                if(!s25.equals(""))
                {
                    float f1 = (float)(Long.parseLong(s25) - l3) / (float)(l4 - l3);
                    if((float)firstProgress.getValue() < (float)firstProgress.getMaximum() * f1)
                        firstProgress.setValue((int)((float)firstProgress.getMaximum() * f1));
                }
                try
                {
                    do
                    {
                        int j3;
                        if(cancelAll || (j3 = bufferedinputstream.read(abyte0)) <= 0)
                            break;
                        fileoutputstream1.write(abyte0, 0, j3);
                        if(firstProgress.getValue() + j3 < firstProgress.getMaximum())
                            firstProgress.setValue(firstProgress.getValue() + j3);
                    } while(true);
                }
                catch(Exception exception13)
                {
                    System.err.println("Read loop: " + exception13);
                }
                fileoutputstream1.close();
                FileInputStream fileinputstream = new FileInputStream(s17);
                GZIPInputStream gzipinputstream = new GZIPInputStream(fileinputstream);
                int k3;
                try
                {
                    while(!cancelAll && (k3 = gzipinputstream.read(abyte0)) > 0) 
                        fileoutputstream.write(abyte0, 0, k3);
                }
                catch(Exception exception14)
                {
                    System.err.println("GRead loop: " + exception14);
                    firstLabel.setText(langStrings[3]);
                    return;
                }
                if(true) goto _L8; else goto _L7
_L7:

}

forloRn_

Legacy Member
Als je mijn link had opengeklikt, vond je dit:

Decompiled code can contain goto statements because the JVM bytecode has them. If the decompiler can't re-construct Java code for some section of bytecode, it attempts a pseudo-code translation where the gotos are preserved. To get that to compile with a Java compiler, someone would need to translate those into equivalent Java constructs. "Jad" is one of the better-known decompilers that does this.

tmagus

Legacy Member
forloRn_ zei:
Als je mijn link had opengeklikt, vond je dit:

had er op geklikt :p ma nu krijg ik lijk iets anders...raar :p

Ok that explain's alot...

Bedankt!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan