Untitled
java
21 days ago
2.2 kB
3
Indexable
Never
public void init(String countryCode) { // на вход код страны строкой InputStream stream = null; // будем читать файл как поток байт ByteArrayOutputStream bos = null; // писать входной поток байт будем в массив байт в памяти try { stream = ApplicationLoader.applicationContext.getAssets().open("PhoneFormats.dat"); // открываем файл для чтения bos = new ByteArrayOutputStream(); // создаем объект для вывода входного потока в выходной поток как массива байт byte[] buf = new byte[1024]; // выделям в памяти буфер на 1кб int len; // в переменной сохраняется сколько мы байт прочитали за итерацию while ((len = stream.read(buf, 0, 1024)) != -1) { // читаем входной файл по 1кб и пишем в выходной поток bos.write(buf, 0, len); } data = bos.toByteArray(); // создаем из выходного потока ByteArray (массив байт в памяти) buffer = ByteBuffer.wrap(data); // оборачиваем его более высокоуровневым классом ByteBuffer buffer.order(ByteOrder.LITTLE_ENDIAN); // указываем как у нас хранятся числа в бинарном формате } catch (Exception e) { e.printStackTrace(); // если ошибка печатаем стектрейс return; } finally { try { // в конце чтения закрываем файл if (bos != null) { bos.close(); } } catch (Exception e) { FileLog.e(e); } try { if (stream != null) { stream.close(); } } catch (Exception e) { FileLog.e(e); } }