Dateigröße ermitteln von Datein im Internet

Status
Nicht offen für weitere Antworten.
definiere internet ... wie greifst du darauf zu? eine möglichkeit wäre den besitzer der datei anzurufen und ihn zu bitten die datei zu messen ...
 
Du meinst also HTTP:
Kannst anfangen sie herunter zuladen, dann wird dir meistens vom server im header die dateigröße gesagt
 
Und wie kann ich die dann anzeigen lasse? Also gibt es da nen Befehl oder so, bzw. wie ladet ihr datein von einem HTTP Server?
 
Du machst ne UrlConnection zu der Datei auf und sagst getContentLength();

Sollte die Größe sein, wenn du direkt die Datei ansprichst!
 
Könnt ihr mir sagen warum da nie was in der Datei drinsteht?

Code:
	public static void main(String[] args) throws MalformedURLException,
			IOException {
		URLConnection urlconAktie = new URL("http://www.java-forum.org")
				.openConnection();
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				urlconAktie.getInputStream()));
		FileWriter writer = new FileWriter(new File(System
				.getProperty("user.home")
				+ System.getProperty("file.separator") + "Java Forum"));
		while (reader.ready()) {
			writer.write(reader.read());
		}
		writer.close();

	}
 
Das Problem habe ich nun gelöst, aber wisst ihr warum das

Code:
inStream = new InputStream(new URLConnection(new URL(strURL).openConnection()).getInputStream());

nicht geht?
 
Ich habe das nun alles mal zusammengezimmert. Ich dachte mir das auch immer angezeigt wir wie weit der Download schon ist. Gesagt getan. Leider geht das mit dem ProgressMonitor nicht und mit dem final und nicht final verliere ich auch etwas den überblick...
Hier der Code:

Code:
private void getFile(String strURL) {
		InputStream inStream = null;
		OutputStream outStream = null;
		URLConnection urlCon = null;
		 Integer intWritten = null;
		 Integer intRead = null;
		 ProgressMonitor proMonitor = new ProgressMonitor(mainFrame,
				"Lade...", "", 0, 100);

		try {
			outStream = new BufferedOutputStream(new FileOutputStream(new File(
					System.getProperty("user.home") + "/")));
			urlCon = new URL(strURL).openConnection();
			inStream = urlCon.getInputStream();
			proMonitor.setMaximum(urlCon.getContentLength());
			final byte[] buffer = new byte[1024];

			final InputStream inStreamFinal = inStream;
			final OutputStream outStreamFinal = outStream;
			final Integer intReadFinal = intRead;
			final Integer intWrittenFinal = intWritten;
			final ProgressMonitor proMonitorFinal = null;

			new Thread(new Runnable() {
				public void run() {
					try {
						while ((intReadFinal = inStreamFinal.read(buffer)) != -1) {
							try {
								outStreamFinal.write(buffer, 0, intReadFinal);
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
							intWrittenFinal += intReadFinal;
							proMonitorFinal.setProgress(intWrittenFinal);
						}
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}).start();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

BigApple
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben