آموزش خواندن فایل در کوتلین
سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به آموزش خواندن فایل در کوتلین می پردازیم قبلا آموزش خواندن فایل در برنامه نویسی اندروید را برای شما قرار داده بودیم در امروز ترجمه شدن آن را به زبان کوتلین قرار خواهیم داد و متوجه می شوید زبان کوتلین چقدر به زبان جاوا شبیه است البته Concept یکی است فقط نوع به کاری گیری کمی تغییر کرده است در ادامه با ما همراه باشید.
اگر یادتان باشد از این کد به منظور خواندن فایل در اندروید (جاوا) استفاده کرده بودیم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | BufferedReader reader = null; try { reader = new BufferedReader( new InputStreamReader(getAssets().open("news_data_file.json"), "UTF-8")); // do reading, usually loop until end of file reading String mLine; while ((mLine = reader.readLine()) != null) { //process line ... } } catch (IOException e) { //log the exception } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { //log the exception } } } |
در بالا یک فایل در پوشه assets قرار دارد و سپس با استفاده از BufferReader آن را می خوانیم این فایل به صورت خط به خط در حال خوانده شدن است.
نحوه خواندن فایل در کوتلین به شکل زیر است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | try { val inputStream:InputStream = assets.open("news_data_file.json") val inputStreamReader = InputStreamReader(inputStream) val sb = StringBuilder() var line: String? val br = BufferedReader(inputStreamReader) line = br.readLine() while (br.readLine() != null) { sb.append(line) line = br.readLine() } br.close() Log.d(TAG,sb.toString()) } catch (e:Exception){ Log.d(TAG, e.toString()) } |
فایل از پوشه assets در حال خوانده شدن است. کد بالا تبدیل شده کده جاوا به کوتلین است که اگر دقت کنید از InputStream و BufferReader برای خواندن استفاده شده است.
یک راه دیگری برای خواندن فایل به صورت راحتر وجود دارد که به شکل زیر است.
1 2 3 4 5 6 7 | try { val inputStream:InputStream = assets.open("news_data_file.json") val inputString = inputStream.bufferedReader().use{it.readText()} Log.d(TAG,inputString) } catch (e:Exception){ Log.d(TAG, e.toString()) } |
هردو کد یک کار را انجام میدهند. در متود بالا bufferedReader یک Extension از کوتلین است که همان کار BufferReader را تکرار می کند.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.