我正在使用Microsoft visual studio 2013开发Windows 8应用程序。我需要将用户输入的数据存储在文本文件中。我编写了以下代码段来创建文件及其工作。但是文本文件是在C:\ Users中创建的......我想在给定的文件夹中创建文本文件。如何修改我的代码以在我指定的文件夹中创建文件。
StorageFile sampleFile;
const string fileName = "Sample.txt";
答案 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");