Откройте удаленный файл и запишите в него - PullRequest
1 голос
/ 31 января 2012

Я открываю txt файл на моем сервере, получаю Int и хочу увеличить 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();

а как открыть удаленный файл? Я не могу найти способ. Спасибо!

##### Редактировать: #####
Я написал этот код:

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

Но он не записывает счет в файл.

Ответы [ 2 ]

1 голос
/ 31 января 2012

Если вы хотите работать с URLConnection, вы можете следовать следующим инструкциям: Чтение и запись в URLConnection .

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

0 голосов
/ 31 января 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...