Записать версию в переменную

325
08 июля 2017, 08:31

Подскажите код, который бы получал содержимое файла (version.txt), который находится по ссылке http://localhost/version.txt и преобразовывал бы его в переменную current_version. Файл version.txt просто содержит число, например - "1.01".

Answer 1

Можно попробовать проще, и стандартными средствами (пример от Oracle):

URL oracle = new URL("http://localhost/version.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
String inputLine;
StringBuilder sb = new StringBuilder("");
while ((inputLine = in.readLine()) != null)
    sb.append(inputLine);
in.close();
String result = sb.toString();

Теперь в result будет весь ваш файл, записанный в String.
В android работать это не будет, и тогда используйте асинхронный пример, приведенный в другом ответе.

Answer 2

Можно взять либу OkHttp и сделать как-то так:

OkHttpClient client = new OkHttpClient.Builder().build();
String url = "https://{IP}/version.txt";
Request request = new Request.Builder()
        .url(url)
        .build();
client.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        Log.e(TAG, "onFailure");
        e.printStackTrace();
    }
    @Override
    public void onResponse(Call call, Response response) throws IOException {
        Log.d(TAG, "onResponse");
        Log.d(TAG, "response.code(): " + response.code());
        String res = response.body().string();
        Log.d(TAG, "response.body().string(): " + res);
        double version = Double.parseDouble(res);
    }
});
READ ALSO
Как после выполнения return метод продолжает работать?

Как после выполнения return метод продолжает работать?

Есть метод который ходит в DB и вытаскивает клиента из таблицыПроисходит странная аномалия, в дебагере после прохождения строки return result; метод...

256
Кодировка eclipse + mySQL

Кодировка eclipse + mySQL

Добрый деньТакая ситуация, есть проект web app, пишу на java + glassfish, есть база данных mySQL в ней данные, настроил подключение между glassfish и mySQL, делаю...

400
В чем отличие условных выражений в Scala от Java?

В чем отличие условных выражений в Scala от Java?

Прохожу курс на CourseraТам объясняются условные выражения

365
Very slowly inserts to db [требует правки]

Very slowly inserts to db [требует правки]

I'm use MongoDB-34 WiredTiger and insert(List) and take result 1 million rec = 33s

324