1. Download our Official Android App: Forums for Android!

Apps How to read large txt file in android?

Discussion in 'Android Development' started by Koltis, May 23, 2011.

  1. Koltis

    Koltis Lurker
    Thread Starter
    Rank:
    None
    Points:
    5
    Posts:
    1
    Joined:
    May 23, 2011

    May 23, 2011
    1
    0
    5
    hi
    I have text file with 65536 hex words (0,5MB) in sdcard (simulator)
    Code (Text):
    1. 13FC, ECFD, E842, EBD7, 959D, 11E4, EF68, 7BCB, 2B72, 33C5, 1271, 8053, 9608, 3A82, A766, B80A, ...
    and i am trying to read it like this:


    Code (Text):
    1.                           String[] loadFile(final String f) {
    2.                              
    3.                               String thisLine;
    4.                               String help[] = null;
    5.                               final List<String> s = new ArrayList<String>();
    6.                               BufferedReader br = null;
    7.                               try {
    8.                                       br = new BufferedReader(new FileReader(f));
    9.                                       while ((thisLine = br.readLine()) != null){
    10.                                           help=thisLine.split(",");
    11.                                           for(int i=0;i<16;i++){
    12.                                                s.add(help[i]);
    13.                                           }}
    14.                                              
    15.                               } catch (IOException ioe) {
    16.                                       System.err.println("Error reading file " + f);
    17.                                       throw new RuntimeException(ioe);
    18.                               } finally {
    19.                                       if(br!=null) try {
    20.                                               br.close();
    21.                                       } catch (IOException e) {
    22.                                               e.printStackTrace();
    23.                                       }
    24.                               }
    25.                              
    26.                               return s.toArray(new String[s.size()]);
    27.                              
    28.                       }        
    but this completly freezing my simulator for a few minutes. Is there any better way to get this values?

    later in code when i am reading this string array containing file i use:


    String value = sbox1[y]; //string[] array with file
    wynik=Integer.valueOf(value, 16).intValue();
    return w;
     

    Advertisement

  2. miXer

    miXer Android Enthusiast
    Rank:
    None
    Points:
    53
    Posts:
    313
    Joined:
    Aug 12, 2010

    Aug 12, 2010
    313
    51
    53
    Norway
    You should run this method in a thread other than the UI thread.
     

Share This Page

Loading...