[Java lista] jar masolasa

Stef stefhun at gmail.com
2007. Feb. 8., Cs, 15:05:21 CET


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

Save binary file from
web<http://www.java2s.com/Code/Java/Network-Protocol/Savebinaryfilefromweb.htm>

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


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