Remote-Datei öffnen und in Sie schreiben
Öffne ich eine txt-Datei auf meinem server, Holen Sie sich die Int und wollen, erhöht sich der int um 1 und schreibt ihn in die Datei erneut.
Bekomme ich die Datei mit dieser Methode:
public int getCount() {
try {
URL updateURL = new URL("http://myserver.gov/text.txt");
URLConnection conn = updateURL.openConnection();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while((current = bis.read()) != -1){
baf.append((byte)current);
}
/* Convert the Bytes read to a String. */
String tmp = new String(baf.toByteArray());
int count = Integer.valueOf(tmp);
return count;
} catch(Exception e) {
Log.e(TAG, "getAdCount Exception = " + e);
e.printStackTrace();
return -1;
}
}
ich jetzt erhöhen Sie einfach die Anzahl und die wollen in die Datei schreiben.
Ich herausgefunden, dass es möglich ist, in eine Datei schreiben mit dieser Methode:
BufferedWriter out = new BufferedWriter(new FileWriter("text.txt"));
out.write(count);
out.close();
Aber wie ich das öffnen der remote-Datei? Ich nicht einen Weg finden. Danke!
##### Edit: #####
Ich habe geschrieben, dieser code:
URL url = new URL("http://myserver.gov/text.txt");
URLConnection con = url.openConnection();
con.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
out.write(count);
out.close();
Aber es tut schreiben Sie die Anzahl auf die Datei.
Welche Möglichkeiten habe ich?
meine schlecht, für eine Sekunde dachte ich, dass Sie hatten für die übertragung einer Datei zu einem anderen server, werde ich meine Kommentare löschen
meine schlecht, für eine Sekunde dachte ich, dass Sie hatten für die übertragung einer Datei zu einem anderen server, werde ich meine Kommentare löschen
InformationsquelleAutor Leandros | 2012-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, mit zu arbeiten URLConnection können Sie Folgen Sie den Anweisungen hier: Lesen von und Schreiben auf eine URLConnection.
Update: Sie müssen einen Laufenden server-handling von POST-requests zu aktualisieren Sie Ihre Zähler.
URL url = new URL("http://myserver.gov/text.txt"); URLConnection con = url.openConnection(); con.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream()); out.write(count); out.close();
hat Sie Aber nicht schreiben, die zählen.Auf welchen server läuft? Wie geht es post-requests verarbeiten?
Es ist ein einfacher webspace.
Wenn Sie URLConnection in der Regel HttpURLConnection (docs.oracle.com/javase/6/docs/api/java/net/...) instanziiert wird. Dann Sie kommunizieren mit dem server via http-request (z.B. GET und POST. Beim schreiben führen Sie eine POST-Anfrage, wenn der server nicht weiß, was zu tun mit POST-Anfragen, wird das nicht funktionieren! Ich nehme an, dies ist der Fall bei "einfachen webspace" 😉 . Wenn man sich das Beispiel in dem link die Antwort, werden Sie feststellen, ein servlet läuft auf dem server.
Nee. Ok, als ich zu schreiben, ein serverApp auch. Danke.
InformationsquelleAutor mtsz
Nach mir .Wenn Sie remote-Datei öffnen.Erstens müssen Sie öffnen Sie die Verbindung als Datei Lesen Inhalt.
als Sie schreiben können Datei-Inhalte.
InformationsquelleAutor Pradeep Sharma