[Java lista] jar masolasa

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


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
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070208/9f928c24/attachment.html 


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