SD Card IO

This sample illustrates access the SD card and writing to a file using standard System.IO calls.

Code

using System;
using System.IO;
using Microsoft.SPOT;
using Microsoft.SPOT.IO;
using System.Text;

namespace SDCardIO
{
    public class Program
    {
        public static void Main()
        {
            // some debug output for funsies 
            OutputSDInfo ();

            var volume = new VolumeInfo("SD");

            // check to see if there's an SD card inserted
            if (volume != null)
            {
                // "SD" is the volume name,
                var path = Path.Combine("SD","test.txt");

                // write some text to a file
                File.WriteAllBytes (path, Encoding.UTF8.GetBytes ("Foooooooo"));

                // Must call flush to write immediately. Otherwise, there's no guarantee 
                // as to when the file is written. 
                volume.FlushAll();
            } 
            else
            {
                Debug.Print ("There doesn't appear to be an SD card inserted");
            }
        }

        public static void OutputSDInfo()
        {
            var vInfo = new VolumeInfo ("SD");

            if (vInfo != null)
            {
                Debug.Print ("Is Formatted: " + vInfo.IsFormatted.ToString ());
                Debug.Print ("Total Free Space: " + vInfo.TotalFreeSpace.ToString ());
                Debug.Print ("Total Size: " + vInfo.TotalSize.ToString ());
                Debug.Print ("File System: " + vInfo.FileSystem);
            }
            else
            {
                Debug.Print ("There doesn't appear to be an SD card in the device.");
            }
        }

        public static bool SDExists()
        {
            return (new VolumeInfo ("SD") != null);
        }
    }
}

Netduino Samples Github Repository

Full source code for all of the samples can be found in the Netduino Samples repository on Github.


These docs are open source. If you find an issue, please file a bug, or send us a pull request. And if you want to contribute, we'd love that too!