1. Are you ready for the Galaxy S20? Here is everything we know so far!

How to read large txt file in android?

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

  1. Koltis

    Koltis Lurker
    Thread Starter

    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;
     


  2. miXer

    miXer Android Enthusiast

    You should run this method in a thread other than the UI thread.
     
Loading...

Share This Page

Loading...