// For this to function, don't forget "using System.IO;"
// If you're just playing around with this to see it work, place it inside
// your AppDelegate's "FinishedLaunching" method in main.cs
string path = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
string filePath = Path.Combine(path, "out.txt");
// File.WriteAllText will create a file and then write text to it. If the
// file already exists, File.WriteAllText will overwrite it.
File.WriteAllText(filePath, "Howdy, world.");
// Now we prove it worked by reading the contents of the file and then
// printing them to the console...
string text = File.ReadAllText(filePath);
Console.WriteLine(text);
3条答案
按热度按时间inn6fuwd1#
您可以在运行时执行以下操作:
这将创建文件。要打开它进行阅读,请使用相同的
Path.Combine()
,但要使用 StreamReader。ruarlubt2#
[**注:**我的回答相当全面,因为我不知道您对应用捆绑包或iPhone应用沙盒小世界结构的理解程度-如果我涉及您已经知道的内容,请道歉-我宁愿写得多一点,而不是写得太少,并在讨论 * 如何 * 时添加一点 * 为什么 *...]
你有几个选择(当然)。我假设你已经在一定程度上熟悉.Net,你的问题更多的是关于如何用iPhone的方式做到这一点。
每一个iPhone应用程序(你会在OSX上看到同样的东西)都是一个“捆绑包”,它不是传统意义上的可执行文件,而是一个文件夹层次结构,你的应用程序二进制文件(沿着资源、设置等)就位于其中。
由于iPhone应用程序是超级沙盒,您无法访问通常在进行桌面开发时能够使用的共享文件夹(例如,在应用程序可以访问的用户主文件夹下有一个公共Documents文件夹)。
相反,您的应用有自己的文件夹层次结构,就像它自己的个人文件夹集,通常会在应用之间共享。
要了解手机上应用的文件夹结构,最简单的方法就是查看iPhone模拟器用于应用安装、设置等的文件夹。在我的机器上(我不记得这是否可配置,但在您的系统上可能是相同的),您可以通过以下路径访问该文件夹:
第一个月
其中有一个用户/应用程序文件夹,包含你安装到模拟器的应用程序。深入到其中任何一个文件夹,你都可以看到你的应用程序在手机上可以访问的文件夹结构。
如果你想存储那些你希望在应用程序会话中保存的文件,你的应用程序的Documents文件夹是个不错的选择。它不是你创建文件的唯一选择,但它是这项工作的“正确”选择。除了正确存储你的文件外,将它们保存在Documents文件夹中还可以在用户同步时通过iTunes备份它们。
借助MonoTouch,您可以使用
Environment.GetFolderPath(Environment.SpecialFolder.Personal);
获取应用的Documents文件夹路径如果你想测试一下,这是一段非常简单的代码,它会将一个名为“out.txt”的文件写入应用的Documents文件夹。这段代码还会读取文件的内容,以显示该文件已创建--要进一步验证,请转到模拟器的Applications文件夹,按修改日期对应用文件夹进行排序,深入查看最近修改的应用文件夹。并查看其文档文件夹-您将找到“out.txt”(您无法按名称找到应用程序的文件夹,因为安装应用程序时,它会被塞进一个文件夹中,名称类似于“2B 3CA 854-FADB-4DDC-9732- 0 E61 B3 DD 8D 8 C”-按修改日期对文件夹进行排序将指向最近修改的应用程序,在本例中,该应用程序是包含以下代码的任何应用程序):
因此,这里唯一真正与iPhone相关的是知道“Environment.SpecialFolder.Personal”Map到应用的Documents文件夹。除此之外,它和往常一样是.Net。
再说一次,这可能有点过头了,但我想给每个看到它的人一个足够彻底的答案。
a6b3iqyw3#
以下来自Xamarin.iOS指南网站的“如何操作”有一些关于在哪里存储文件的指针:
http://docs.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/