2012-01-31 3 views
1

Я открываю txt-файл на своем сервере, получаю Int и хочу увеличить его на 1 и снова записать его в файл.Откройте удаленный файл и напишите ему

я получить файл с помощью этого метода:

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; 
     } 
    } 

теперь я просто увеличивать количество и хочу записать его в файл.
я понял, что можно записать в файл с помощью этого метода:

 BufferedWriter out = new BufferedWriter(new FileWriter("text.txt")); 
     out.write(count); 
     out.close(); 

Но как открыть удаленный файл? Я не нахожу способ. Благодаря!

##### Edit: #####
Я написал этот код:

 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(); 

Но оно не написать счетчик в файл.

+0

Какие у меня варианты? – Leandros

+0

мой плохой, на секунду я думал, что вам нужно перенести файл на другой сервер, я удалю свои комментарии – Gevorg

ответ

1

Если вы хотите работать с URLConnection, вы можете выполнить следующие инструкции: Reading from and Writing to a URLConnection.

Обновление: Вам также понадобится работающий сервер для обработки запросов POST для обновления вашего счетчика.

+0

Спасибо. Я использовал ссылку и написал этот код: \t \t \t 'URL url = новый URL (" http://myserver.gov/text.txt "); \t \t \t URLConnection con = url.openConnection(); \t \t \t con.setDoOutput (true); \t \t \t OutputStreamWriter out = новый OutputStreamWriter (con.getOutputStream()); \t \t \t out.write (count); \t \t \t out.close(); ' Но они не указали счет. – Leandros

+0

Какой сервер работает? Как он обрабатывает почтовые запросы? – mtsz

+0

Это простое веб-пространство. – Leandros

0

По мне. Когда вы открываете удаленный файл. Сначала вам нужно открыть соединение, а не читать содержимое файла.

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(url); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 

чем вы можете написать содержимое файла.