private static void readRandomAccessFile(Path path){
        SeekableByteChannel sbc=null;
        try {
            sbc = Files.newByteChannel(path, java.nio.file.StandardOpenOption.READ);
            ByteBuffer byteBuffer= ByteBuffer.allocate(92);    
            
            int posicion =0; 
            int stock;
            double price;
            char[] charSequence = new char[20];
            String cod, desc;

            while (sbc.position()<sbc.size()){
                byteBuffer.clear();
                sbc.read(byteBuffer);
                byteBuffer.rewind(); //The position is set to zero and the mark is discarded
                
                for (int i=0; i<charSequence.length;i++){
                    charSequence[i]=byteBuffer.getChar();
                }
                cod = new String(charSequence);
                for (int i=0; i<charSequence.length;i++){
                    charSequence[i]=byteBuffer.getChar();
                }
                desc=new String(charSequence);

                stock = byteBuffer.getInt();
                price = byteBuffer.getDouble();
                
                System.out.println(cod+" "+desc+" "+stock+" "+price);
                
                posicion = posicion +byteBuffer.capacity();
                sbc.position(posicion);
            }
            
        } catch (IOException ex) {
            System.err.println("Error I/O "+ex);
        } finally{
            if (sbc!=null)
                try {
                    sbc.close();
            } catch (IOException ex) {
                System.err.println("Error I/O "+ex);
            }
        }
    }