Difficulty with 'readBytesUntil()'

I’m trying to read text data from an SD Card and I’d like to use ‘readBytesUntil()’ to read an entire record at a time (up to 10 characters between delimiter characters).

I had it working at one time but after struggling with upload issues to a Mega2560 (switching from Arduino IDE v1.0 to v0.0022) I now get a compiler error:

‘class File’ has no member named ‘readBytesUntil’

#include <SD.h>

File dataFile;

void setup()  {
    // Parameters
    char*  fileName = "name.txt";  // filename for data file
    char*  readBuffer = "**********";  // Buffer used to read a record
    char   delimiter = ',';  // A character that separates records
    int    bufferLength = 10;  // Size of data read buffer
    dataFile = SD.open(fileName, FILE_READ);
    if (dataFile) {
      int index = dataFile.readBytesUntil(delimiter, readBuffer, bufferLength);
void loop()  {

I’m running Arduino IDE v0.0022 (both Mac and PC)
I’m using the SD.h library from ADAFRUIT, located in the ‘libraries’ folder. I did NOT replace the SD.h library located within the MacOS application.

Thanks in advance for your help.

I'm using the SD.h library from ADAFRUIT, located in the 'libraries' folder.

Actually, you probably aren't. The Arduino IDE delivers an SD library. It is like that that is the one you are actually linking to. To use the other one, one of them needs to be renamed.

Ahh. I think I see what the Root Cause is... 'readBytesUntil()' was introduced in Arduino IDE v1.0.

From the MAKE: blog... http://blog.makezine.com/2011/12/01/arduino-1-0-is-out-heres-what-you-need-to-know/

New Stream Parsing functions

Arduino 1.0 introduced a simple parsing capability to enable finding and extracting strings and numbers from any of the objects derived from Stream, such as: Serial, Wire and Ethernet. These functions include:

find(char *target); findUntil(char *target,char *term); readBytes(buffer,length); readBytesUntil(term,buffer,length); parseInt(); parseFloat();