Запись строки Android в файл занимает слишком много времени

Я использую следующую функцию для записи длинной строки (размер байтового массива – 871504) во внутреннюю память устройства Android, но для ее завершения требуется около полутора минут. Однако для другой строки (размер байтового массива – 782979) для завершения требуется всего несколько секунд.

fun saveTempSrc(data: String, ctx: Context) { try { val dataByteArray = data.toByteArray() Timber.d("saveTempSrc: byte array size = %d", dataByteArray.size) val inputStream = BufferedInputStream(ByteArrayInputStream(dataByteArray)) val outputStream = BufferedOutputStream(ctx.openFileOutput("example.txt", Context.MODE_PRIVATE)) inputStream.copyTo(outputStream) inputStream.close() outputStream.flush() outputStream.close() } catch (e: IOException) { Timber.e(e, "Write Temp file failed") } } 

Является ли эта функция подходящей для записи длинной строки в файл? Я запускаю эту функцию в планировщике ввода-вывода RxJava.

    Попробуйте использовать FileWriter.

     val sdcard = ctx.getExternalStorageDirectory() val file = File("example.txt", sdcard) val fileWriter = FileWriter(file) fileWriter.write(data) fileWriter.flush() fileWriter.close() 

    Извините, что длительное время ожидания не связано с файлами ввода / вывода, но из-за поиска Regex с очень длинной строкой перед записью файла.

    Давайте будем гением компьютера.