https://www.arduino.cc/en/Reference/FileRead states that the read method returns a character or -1. That however only applies to ::read(). read(buffer, len) returns the number of bytes read or -1 on error.
From SDFile.cpp
//------------------------------------------------------------------------------
/**
* Read data from a file starting at the current position.
*
* \param[out] buf Pointer to the location that will receive the data.
*
* \param[in] nbyte Maximum number of bytes to read.
*
* \return For success read() returns the number of bytes read.
* A value less than \a nbyte, including zero, will be returned
* if end of file is reached.
* If an error occurs, read() returns -1. Possible errors include
* read() called before a file has been opened, corrupt file system
* or an I/O error occurred.
*/
int16_t SdFile::read(void* buf, uint16_t nbyte) {
uint8_t* dst = reinterpret_cast<uint8_t*>(buf);
https://www.arduino.cc/en/Reference/FileRead states that the
read
method returns a character or -1. That however only applies to::read()
.read(buffer, len)
returns the number of bytes read or -1 on error.From SDFile.cpp