ASCII - это файл TEXT, поэтому вы должны использовать Readers для чтения. Java также поддерживает чтение из двоичного файла с помощью InputStreams . Если прочитанные файлы огромны, вы можете использовать BufferedReader поверх FileReader , чтобы улучшить производительность чтения.
Пройдите через в этой статье о том, как использовать Reader
Я также рекомендую вам скачать и прочитать эту замечательную (но бесплатную) книгу под названием Мышление на Java
В Java 7:
new String (Files.readAllBytes (...)) или Files.readAllLines (...)
В Java 8:
Наконец-то нашли решение. Теперь я распоряжаюсь Disposable только нажатием кнопки «назад» и не распоряжаюсь ею на экране без присмотра. Итак, я добавил метод к базовому докладчику:
...
/**
* Method that should be called on back button click in fragment
* It's planned that all [Disposable] objects will be disposed in implementation of this method
* */
abstract fun onBackButtonClicked()
...
Докладчик:
...
override fun onBackButtonClicked() {
getChartDataDisposable?.dispose()
}
...
Просмотр (фрагмент):
...
override fun onBackButtonClicked() {
presenter.onBackButtonClicked()
navigator.back()
}
...
И некоторая логика для перехвата нажмите на аппаратная кнопка возврата:
Интерфейс:
interface OnBackButtonClickListener {
fun onBackButtonClicked()
}
Базовый фрагмент:
abstract class BaseFragment : Fragment(), OnBackButtonClickListener {
...
override fun onResume() {
super.onResume()
(ctx as MainActivity).currentBackPressListener = this@BaseFragment
}
override fun onPause() {
super.onPause()
(ctx as MainActivity).currentBackPressListener = null
}
...
}
Наконец, переопределен метод onBackPressed () в действии:
class MainActivity : AppCompatActivity() {
...
var currentBackPressListener: OnBackButtonClickListener? = null
...
override fun onBackPressed() {
currentBackPressListener?.onBackButtonClicked()
}
...
}