[Java lista] jar masolasa

Maglódszki Viktor bocios at citromail.hu
2007. Feb. 8., Cs, 16:13:40 CET


"én a close elé egy flush()-t betennék, az 'inp'-et is illene bezárni."

ok,ok csak egy próba kód volt
a végére mindent lezárok
köszi, hogy szóltál


  ----- Original Message ----- 
  From: bognár attila 
  To: javalist at javagrund.hu 
  Sent: Thursday, February 08, 2007 4:04 PM
  Subject: Re: [Java lista] jar masolasa


  én a close elé egy flush()-t betennék, az 'inp'-et is illene bezárni.

  Maglódszki Viktor írta: 
    na most meg igy lejött rendesen:

     conn = url.openConnection();
                    inp = conn.getInputStream();
                    
                    int a;
                    String theFile = url.getFile();
                    theFile = theFile.substring(theFile.lastIndexOf('/') + 1);
                    FileOutputStream fout = new FileOutputStream(theFile);
                    
                    while ((a=inp.read()) != -1) {
                        fout.write(a);
                    }
                    
                    fout.close();


      ----- Original Message ----- 
      From: Stef 
      To: javalist at javagrund.hu 
      Sent: Thursday, February 08, 2007 3:05 PM
      Subject: Re: [Java lista] jar masolasa


      Talan ez segit, mert gondolom szoveges allomanykent jon az a fajl, nem binarisan:

      Save binary file from web

      import java.io.FileOutputStream ;
      import java.io.InputStream;
      import java.net.MalformedURLException;
      import java.net.URL;
      import java.net.URLConnection;

      public class MainClass {
        public static void main(String args[]) {
          try { 
            URL root = new URL("http://");
            saveBinaryFile(root);
          } catch (MalformedURLException e) {
            System.err.println("not URL I understand.");
          }
        }

        public static void saveBinaryFile(URL u) { 
          int bufferLength = 128;
          try {
            URLConnection uc = u.openConnection();
            String ct = uc.getContentType();
            int contentLength = uc.getContentLength();
            if (ct.startsWith("text/") || contentLength == -1) { 
              System.err.println("This is not a binary file.");
              return;
            }

            InputStream stream = uc.getInputStream();
            byte[] buffer = new byte[contentLength];
            int bytesread = 0; 
            int offset = 0;
            while (bytesread >= 0) {
              bytesread = stream.read(buffer, offset, bufferLength);
              if (bytesread == -1)
                break;
              offset += bytesread;
            } 
            if (offset != contentLength) {
              System.err.println("Error: Only read " + offset + " bytes");
              System.err.println("Expected " + contentLength + " bytes"); 
            }

            String theFile = u.getFile();
            theFile = theFile.substring(theFile.lastIndexOf('/') + 1);
            FileOutputStream fout = new FileOutputStream(theFile);
            fout.write(buffer); 
          } catch (Exception e) {
            System.err.println(e);
          }
          return;
        }
      }

      Stef



      2007/2/8, Maglódszki Viktor < bocios at citromail.hu>: 
        Sziasztok !

        Szeretnék egy távoli gépről http-n lemásolni egy JAR fájlt.
        Sajnos webem még nincs, de itt van nálam a kék java könyv.
        2 féle képpen próbáltam.

        URL url = new URL(http://IPCIM/progi.jar);
        URLConnection conn = url.openConnection();
        InputStream inp = conn.getInputStream();

        azután 1 BufferedReader segitségévél végimentem az inputstream-en és ezt betettem egy létrehozott üres jar fájlba.
        Szépen átment, de a jar-t nem tudom elinditani.
        java -jar progi.jar kimenete:
        invalid or corrupt jar file

        egy sima TXT-vel kipróbálva pedig működik

        A könyv még emlitit a JarURLConnection -t is.
        Azokra mond példát, hogy egy benne lévő class-t hogyan tudok elérni, de én le szeretném másolni.
        Ha simán hivatkozom a jar-ra nem megy:

        URL url = new URL(http://IPCIM/progi.jar); 
        JarURLConnection jC = (JarURLConnection)url.openConnection();
        inp = jC.getInputStream();

        ez sajnos IOException-t okoz:

        java.io.IOException: no entry name specified
                at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:129)


        lehet ezzel a JarURLConnection objektumal vagy mással az egész JAR fájlt átmásolni?

        előre is köszönöm !

        üdv, MV

        _______________________________________________
        Javalist mailing list
        Javalist at javagrund.hu
        http://javagrund.hu/mailman/listinfo/javalist






--------------------------------------------------------------------------
      _______________________________________________
      Javalist mailing list
      Javalist at javagrund.hu
      http://javagrund.hu/mailman/listinfo/javalist



--------------------------------------------------------------------------
      No virus found in this incoming message.
      Checked by AVG Free Edition.
      Version: 7.5.432 / Virus Database: 268.17.25/669 - Release Date: 2007.02.04. 21:58

----------------------------------------------------------------------------
_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist
  

------------------------------------------------------------------------------


  _______________________________________________
  Javalist mailing list
  Javalist at javagrund.hu
  http://javagrund.hu/mailman/listinfo/javalist



------------------------------------------------------------------------------


  No virus found in this incoming message.
  Checked by AVG Free Edition.
  Version: 7.5.432 / Virus Database: 268.17.25/669 - Release Date: 2007.02.04. 21:58
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070208/8436936c/attachment.html 


További információk a(z) Javalist levelezőlistáról