public static UnicodeSpec[] readSpecFile(File file,int plane) throws FileNotFoundException {
  ArrayList<UnicodeSpec> list=new ArrayList<>(3000);
  UnicodeSpec[] result=null;
  int count=0;
  BufferedReader f=new BufferedReader(new FileReader(file));
  String line=null;
  loop:   while (true) {
    try {
      line=f.readLine();
    }
 catch (    IOException e) {
      break loop;
    }
    if (line == null)     break loop;
    UnicodeSpec item=parse(line.trim());
    int specPlane=item.getCodePoint() >>> 16;
    if (specPlane < plane)     continue;
    if (specPlane > plane)     break;
    if (item != null) {
      list.add(item);
    }
  }
  result=new UnicodeSpec[list.size()];
  list.toArray(result);
  return result;
}

public static UnicodeSpec [ ] readSpecFile ( File file , int plane ) throws FileNotFoundException { ArrayList < UnicodeSpec > list = new ArrayList < > ( 3000 ) ; UnicodeSpec [ ] result = null ; int count = 0 ; BufferedReader f = new BufferedReader ( new FileReader ( file ) ) ; String line = null ; loop : while ( true ) { try { line = f . readLine ( ) ; } catch ( IOException e ) { break loop ; } if ( line == null ) break loop ; UnicodeSpec item = parse ( line . trim ( ) ) ; int specPlane = item . getCodePoint ( ) > > > 16 ; if ( specPlane < plane ) continue ; if ( specPlane > plane ) break ; if ( item != null ) { list . add ( item ) ; } } result = new UnicodeSpec [ list . size ( ) ] ; list . toArray ( result ) ; return result ; }
read and parse a unicode data file .
