在给定文件夹中创建文本文件

时间:2014-11-14 12:20:02

标签: c# windows windows-phone-8 file-handling

我正在使用Microsoft visual studio 2013开发Windows 8应用程序。我需要将用户输入的数据存储在文本文件中。我编写了以下代码段来创建文件及其工作。但是文本文件是在C:\ Users中创建的......我想在给定的文件夹中创建文本文件。如何修改我的代码以在我指定的文件夹中创建文件。

StorageFile sampleFile;
const string fileName = "Sample.txt";

3 个答案:

答案 0 :(得分:3)

这是在C temp文件夹中创建文件的方法

String folderPath = @"C:/temp";
FileStream fs = new FileStream(folderPath + "\\Samplee.txt",FileMode.OpenOrCreate, FileAccess.Write);

答案 1 :(得分:1)

如前所述,通用应用程序是沙盒,这意味着您无法在任意文件夹中写入文件。

您应该查看有关如何操作的File access sample

此外,您应该查看ApplicationData,它为您提供了许多用于保存用户输入数据的选项。它是暂时的,你想要它同步,它是一个设置?肯定有一个适合您需求的房产。

来自http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localfolder.aspx

编辑这是您应该做的事情

var applicationData = Windows.Storage.ApplicationData.current;
var localFolder = applicationData.localFolder;

// Write data to a file

function writeTimestamp() {
   localFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting)
      .then(function (sampleFile) {
         var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");
         var timestamp = formatter.format(new Date());

         return Windows.Storage.FileIO.writeTextAsync(sampleFile, timestamp);
      }).done(function () {      
      });
}

答案 2 :(得分:0)

您需要设置要保存文件的目录。

试试这个

       string dirctory = @"D:\Folder Name"; //This is the location where you want to save the file

        if (!Directory.Exists(dirctory))
        {
            Directory.CreateDirectory(dirctory);
        }

        File.WriteAllText(Path.Combine(dirctory, "Sample.txt"), "Text you want to Insert");