کار با پوشه های raw و assets ، در برنامه نویسی اندروید

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست مطالب:

  1. به دست آوردن لیست فایل های موجود در پوشه assets یا لیست فایل های موجود در زیرپوشه ای از پوشه assets ، در برنامه نویسی اندروید
  2. خواندن یک فایل text (با پسوند txt) موجود در پوشه assets و ذخیره متن درون آن در متغیری از جنس رشته (String)، در برنامه نویسی اندروید


منبع: kelidestan
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن لیست فایل های موجود در پوشه assets یا لیست فایل های موجود در زیرپوشه ای از پوشه assets ، در برنامه نویسی اندروید

به دست آوردن لیست فایل های موجود در پوشه assets یا لیست فایل های موجود در زیرپوشه ای از پوشه assets ، در برنامه نویسی اندروید

همان طور که می دانید، در پوشه assets از پروژه اندروید، می توانیم فایل های مورد نظرمان را قرار بدهیم. اکنون فرض کنید که در پوشه assets ، سه فایل داریم و همچنین برای آن یک زیرپوشه با نام iran-eng ساخته ایم که آن نیز شامل سه فایل می باشد :

1265.jpg

برای به دست آوردن لیست فایل های موجود در پوشه assets و همچنین لیست فایل های موجود در زیرپوشه iran-eng ، کدهای زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]AssetManager assetManager [COLOR=#339933]=[/COLOR] getAssets[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]try[/B] [COLOR=#009900]{[/COLOR]
    [COLOR=#003399]String[/COLOR][COLOR=#009900][[/COLOR][COLOR=#009900]][/COLOR] files_1 [COLOR=#339933]=[/COLOR] assetManager.[COLOR=#006633]list[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]""[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]  [COLOR=#666666][I]// files from 'assets' directory[/I][/COLOR]
    [COLOR=#003399]String[/COLOR][COLOR=#009900][[/COLOR][COLOR=#009900]][/COLOR] files_2 [COLOR=#339933]=[/COLOR] assetManager.[COLOR=#006633]list[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"iran-eng"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#666666][I]// files from 'assets/kelidestan' directory[/I][/COLOR]
[COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]IOException[/COLOR] e[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
    [COLOR=#666666][I]// TODO Auto-generated catch block[/I][/COLOR]
    e.[COLOR=#006633]printStackTrace[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
با اجرای کد بالا، لیست فایل های پوشه assets در آرایه ای (Array) از جنس رشته (String) و با نام files_1 ذخیره می شود و همچنین لیست فایل های زیرپوشه kelidestan در آرایه ای (Array) از جنس رشته (String) و با نام files_2 ذخیره می گردد.

نکته :

هنگام به دست آوردن لیست فایل های موجود در پوشه اصلی assets ، ممکن است علاوه بر فایل هایی که ما در آن کپی کرده ایم، موارد دیگری نیز ذکر شود، بنابراین اگر می خواهید آرایه ای که به دست می آید، تعداد عناصرش دقیقا برابر تعداد فایل هایی باشد که قرار داده اید، بهتر است که یک زیرپوشه در پوشه assets بسازید و فایل های مورد نظرتان را در آن کپی کنید.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
خواندن یک فایل text (با پسوند txt) موجود در پوشه assets و ذخیره متن درون آن در متغیری از جنس رشته (String)

خواندن یک فایل text (با پسوند txt) موجود در پوشه assets و ذخیره متن درون آن در متغیری از جنس رشته (String)

فرض کنید یک فایل با نام myFile.txt را در پوشه assets از پروژه اندروید قرار داده ایم که متن زیر (یک متن دلخواه) در آن ذخیره شده است (این متن را مثال زدم تا تذکر داده باشم که حتما کدها را بر روی فایلی که بیش از یک خط متن در آن ذخیره شده، امتحان کنید) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]1www.[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com[/COLOR]
2www.[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com[/COLOR][/FONT]
[/FONT][/COLOR]
ابتدا یک روش (method) به صورت زیر تعریف می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]public[/B] [COLOR=#003399]String[/COLOR] ReadFromfile[COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR] fileName, [COLOR=#003399]Context[/COLOR] context[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        StringBuilder returnString [COLOR=#339933]=[/COLOR] [B]new[/B] StringBuilder[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]InputStream[/COLOR] fIn [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]InputStreamReader[/COLOR] isr [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]BufferedReader[/COLOR] input [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [B]try[/B] [COLOR=#009900]{[/COLOR]
                fIn [COLOR=#339933]=[/COLOR] context.[COLOR=#006633]getResources[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]getAssets[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]
                                .[COLOR=#006633]open[/COLOR][COLOR=#009900]([/COLOR]fileName, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_WORLD_READABLE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                isr [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]InputStreamReader[/COLOR][COLOR=#009900]([/COLOR]fIn[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                input [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]BufferedReader[/COLOR][COLOR=#009900]([/COLOR]isr[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#003399]String[/COLOR] line [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]""[/COLOR][COLOR=#339933];[/COLOR]
                [B]while[/B] [COLOR=#009900]([/COLOR][COLOR=#009900]([/COLOR]line [COLOR=#339933]=[/COLOR] input.[COLOR=#006633]readLine[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                        returnString.[COLOR=#006633]append[/COLOR][COLOR=#009900]([/COLOR]line[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                e.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR] [B]finally[/B] [COLOR=#009900]{[/COLOR]
                [B]try[/B] [COLOR=#009900]{[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]isr [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                isr.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]fIn [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                fIn.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]input [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                input.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e2[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                        e2.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR]
        [B]return[/B] returnString.[COLOR=#006633]toString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
سپس برای خواندن فایل myFile.txt و ذخیره متن آن در یک متغیر از جنس رشته (String)، کد زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] str [COLOR=#339933]=[/COLOR] ReadFromfile[COLOR=#009900]([/COLOR][COLOR=#0000FF]"myFile.txt"[/COLOR], [B]this[/B][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
در کد بالا فرض کرده ایم که کد در یک Activity اجرا می شود و this نیز به Context مربوط به Activity اشاره می کند.

به عنوان مثال، کدهایی که در Activity می نویسیم، مشابه کد زیر می باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]package[/B] [COLOR=#006699]com.www.www.iran-eng.ir[/COLOR][COLOR=#339933];[/COLOR]

[B]import[/B] [COLOR=#006699]java.io.BufferedReader[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]java.io.InputStream[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]java.io.InputStreamReader[/COLOR][COLOR=#339933];[/COLOR]

[B]import[/B] [COLOR=#006699]android.app.Activity[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]android.content.Context[/COLOR][COLOR=#339933];[/COLOR]
[B]import[/B] [COLOR=#006699]android.os.Bundle[/COLOR][COLOR=#339933];[/COLOR]

[B]public[/B] [B]class[/B] MainActivity [B]extends[/B] Activity [COLOR=#009900]{[/COLOR]

        @Override
        [B]protected[/B] [COLOR=#000066][B]void[/B][/COLOR] onCreate[COLOR=#009900]([/COLOR]Bundle savedInstanceState[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                [B]super[/B].[COLOR=#006633]onCreate[/COLOR][COLOR=#009900]([/COLOR]savedInstanceState[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]         
                setContentView[COLOR=#009900]([/COLOR]R.[COLOR=#006633]layout[/COLOR].[COLOR=#006633]activity_main[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

                [COLOR=#003399]String[/COLOR] str [COLOR=#339933]=[/COLOR] ReadFromfile[COLOR=#009900]([/COLOR][COLOR=#0000FF]"myFile.txt"[/COLOR], [B]this[/B][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR]
        
        
        [B]public[/B] [COLOR=#003399]String[/COLOR] ReadFromfile[COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR] fileName, [COLOR=#003399]Context[/COLOR] context[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
            StringBuilder returnString [COLOR=#339933]=[/COLOR] [B]new[/B] StringBuilder[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]InputStream[/COLOR] fIn [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]InputStreamReader[/COLOR] isr [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]BufferedReader[/COLOR] input [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
            [B]try[/B] [COLOR=#009900]{[/COLOR]
                fIn [COLOR=#339933]=[/COLOR] context.[COLOR=#006633]getResources[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]getAssets[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]
                        .[COLOR=#006633]open[/COLOR][COLOR=#009900]([/COLOR]fileName, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_WORLD_READABLE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                isr [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]InputStreamReader[/COLOR][COLOR=#009900]([/COLOR]fIn[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                input [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]BufferedReader[/COLOR][COLOR=#009900]([/COLOR]isr[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#003399]String[/COLOR] line [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]""[/COLOR][COLOR=#339933];[/COLOR]
                [B]while[/B] [COLOR=#009900]([/COLOR][COLOR=#009900]([/COLOR]line [COLOR=#339933]=[/COLOR] input.[COLOR=#006633]readLine[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                    returnString.[COLOR=#006633]append[/COLOR][COLOR=#009900]([/COLOR]line[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR]
            [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                e.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#009900]}[/COLOR] [B]finally[/B] [COLOR=#009900]{[/COLOR]
                [B]try[/B] [COLOR=#009900]{[/COLOR]
                    [B]if[/B] [COLOR=#009900]([/COLOR]isr [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                        isr.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                    [B]if[/B] [COLOR=#009900]([/COLOR]fIn [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                        fIn.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                    [B]if[/B] [COLOR=#009900]([/COLOR]input [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                        input.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e2[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                    e2.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR]
            [COLOR=#009900]}[/COLOR]
            [B]return[/B] returnString.[COLOR=#006633]toString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR]


[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
متن درون فایل، در رشته ای با نام str ذخیره می شود.

[h=4]نکته :[/h]با اجرای کد بالا، متن درون رشته (String) به صورت زیر خواهد بود (مثلا با نمایش آن در یک TextView) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]1www.[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com2www[/COLOR].[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com[/COLOR][/FONT]
[/FONT][/COLOR]
مشاهده می کنید که رفتن به خط جدید (line break) در رشته ذکر نشده است. بنابراین چنانچه بخواهیم رفتن به خط جدید (line break) نیز در رشته ذکر شود، باید کدهای روش (method) را اندکی تغییر دهیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]public[/B] [COLOR=#003399]String[/COLOR] ReadFromfile[COLOR=#009900]([/COLOR][COLOR=#003399]String[/COLOR] fileName, [COLOR=#003399]Context[/COLOR] context[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
        StringBuilder returnString [COLOR=#339933]=[/COLOR] [B]new[/B] StringBuilder[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]InputStream[/COLOR] fIn [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]InputStreamReader[/COLOR] isr [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#003399]BufferedReader[/COLOR] input [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#339933];[/COLOR]
        [B]try[/B] [COLOR=#009900]{[/COLOR]
                fIn [COLOR=#339933]=[/COLOR] context.[COLOR=#006633]getResources[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]getAssets[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]
                                .[COLOR=#006633]open[/COLOR][COLOR=#009900]([/COLOR]fileName, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_WORLD_READABLE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                isr [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]InputStreamReader[/COLOR][COLOR=#009900]([/COLOR]fIn[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                input [COLOR=#339933]=[/COLOR] [B]new[/B] [COLOR=#003399]BufferedReader[/COLOR][COLOR=#009900]([/COLOR]isr[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#003399]String[/COLOR] line [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]""[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#000066][B]boolean[/B][/COLOR] firstRow [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]true[/B][/COLOR][COLOR=#339933];[/COLOR]
                [B]while[/B] [COLOR=#009900]([/COLOR][COLOR=#009900]([/COLOR]line [COLOR=#339933]=[/COLOR] input.[COLOR=#006633]readLine[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                        [B]if[/B][COLOR=#009900]([/COLOR]firstRow[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR] [COLOR=#666666][I]// first row[/I][/COLOR]
                                returnString.[COLOR=#006633]append[/COLOR][COLOR=#009900]([/COLOR]line[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                                firstRow [COLOR=#339933]=[/COLOR] [COLOR=#000066][B]false[/B][/COLOR][COLOR=#339933];[/COLOR]
                        [COLOR=#009900]}[/COLOR][B]else[/B][COLOR=#009900]{[/COLOR]
                                returnString.[COLOR=#006633]append[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"[COLOR=#000099][B]\n[/B][/COLOR]"[/COLOR][COLOR=#339933]+[/COLOR]line[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                        [COLOR=#009900]}[/COLOR]
                [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                e.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR] [B]finally[/B] [COLOR=#009900]{[/COLOR]
                [B]try[/B] [COLOR=#009900]{[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]isr [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                isr.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]fIn [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                fIn.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                        [B]if[/B] [COLOR=#009900]([/COLOR]input [COLOR=#339933]!=[/COLOR] [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR]
                                input.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR] [B]catch[/B] [COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e2[COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR]
                        e2.[COLOR=#006633]getMessage[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                [COLOR=#009900]}[/COLOR]
        [COLOR=#009900]}[/COLOR]
        [B]return[/B] returnString.[COLOR=#006633]toString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین این بار اگر متن درون رشته را در خروجی (مثلا در یک TextView) نمایش بدهیم، نتیجه به صورت زیر خواهد بود :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]1www.[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com[/COLOR]
2www.[COLOR=#006633]iran-eng[/COLOR].[COLOR=#006633]com[/COLOR][/FONT]
[/FONT][/COLOR]
 
بالا