thunderwave
Grünschnabel
Hallo.
Ich möchte gerne aus dem aktuellen Verzeichnis eine Textdatei einlesen und im Internet hochladen.
Ich hab schon ein Programm, das soll so funktionieren:
Datei wird eingelesen, Zeile für Zeile, es wird in ein StringBuffer geschrieben.
Am Ende wird ein URL Objekt angelegt, und der StringBuffer in ein String konvertiert, und das ganze wird per PHP mittels GET übermittelt.
Das Problem ist jetzt nur: im String steht nun das komplette File drin, aber beim übermitteln mit diesem URL Objekt, da wird irgendwie nur die erste Zeile übermittelt.
<LINK> ich hab das da nur stehen, weil leider der Webspace nicht mehr funktioniert, also hab ich den Link wieder rausgenommen.
Ich glaube es liegt wohl an dem Befehl String r = new Scanner( u.openStream() ).useDelimiter( "" ).next();
Irgendwie muss das anders gemacht werden.
Achja so sieht das PHP Skript aus:
Ist das überhaupt so möglich, oder gibt es ne andere Möglichkeit, z.B. irgendwie die gesamte Datei hochladen?
mfg
Thunder
Ich möchte gerne aus dem aktuellen Verzeichnis eine Textdatei einlesen und im Internet hochladen.
Ich hab schon ein Programm, das soll so funktionieren:
Datei wird eingelesen, Zeile für Zeile, es wird in ein StringBuffer geschrieben.
Am Ende wird ein URL Objekt angelegt, und der StringBuffer in ein String konvertiert, und das ganze wird per PHP mittels GET übermittelt.
Das Problem ist jetzt nur: im String steht nun das komplette File drin, aber beim übermitteln mit diesem URL Objekt, da wird irgendwie nur die erste Zeile übermittelt.
PHP:
import java.io.*;
import java.net.URL;
import java.util.Scanner;
class FileInString2 {
public static void main(String[] args) throws IOException {
String filename;
System.out.print("Bitte Eingabe: ");
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
filename = in.readLine();
printMyFile(filename);
}
static void printMyFile(String filename) throws IOException {
StringBuffer sb = new StringBuffer();
BufferedReader infile = new BufferedReader(
new FileReader(filename));
String line;
while ((line = infile.readLine()) != null) {
sb.append(line+"<br>");
}
String ready = sb.toString();
//System.out.print(ready); // die Ausgabe t einwandfrei
// Die Ausgabe hier, stimmt nicht ganz, nur erste Zeile wird übermittelt
URL u = new URL( "http://<LINK>/index.php?test="+ready);
String r = new Scanner( u.openStream() ).useDelimiter( "" ).next();
infile.close();
}
}
Ich glaube es liegt wohl an dem Befehl String r = new Scanner( u.openStream() ).useDelimiter( "" ).next();
Irgendwie muss das anders gemacht werden.
Achja so sieht das PHP Skript aus:
PHP:
<?php
$theFile = $_GET[test];
$datei = "logging.txt"; // Datei
$handle = fopen ($datei, "r");
$contents = fread ($handle, filesize ($datei));
fclose ($handle);
$fp = fopen($datei,"w");// Open to write
fputs($fp,""); // Leeren
fclose($fp); // Close
$fp = fopen($datei,"a");// Open to write
$altedaten = $contents;
$neuedaten = $theFile; // Daten vorne eingefügt.
fputs($fp,$neuedaten.$altedaten);
fclose($fp); // Close
?>
Ist das überhaupt so möglich, oder gibt es ne andere Möglichkeit, z.B. irgendwie die gesamte Datei hochladen?
mfg
Thunder
Zuletzt bearbeitet: