c# - C#-Xamarin:在设备上创建一个 .txt 文件
问题描述
我是编程初学者。我想在点击按钮时创建一个 .txt 文件。我怎么做?我已经尝试了几个代码......但我的文件没有被创建。
甚至看不到模拟器中的文件夹(文件)它告诉我我的文件在这里: /data/user/0/com.companyname.projektnetapp/files/.config/myfile.txt
这就是我正在尝试的。我错了吗?
var docs = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(docs, "myfile.txt");
StreamWriter sw = new StreamWriter(filename);
sw.WriteLine("hi");
sw.Close();
DisplayAlert(null, filename.ToString(), "ok");
解决方案
从共享代码中,您已成功创建并保存文件。这只是在模拟器(文件)中看不到,您可以使用以下代码读取文件:
string str = File.ReadAllText(filename);
或File.Exists(filename);
检查它是否存在。
甚至看不到模拟器中的文件夹(文件)它告诉我我的文件在这里:/data/user/0/com.companyname.projektnetapp/files/.config/myfile.txt
该文件在 emulator(Files) 中看不到,因为/.config
它是一个隐藏文件夹。
不过,你可以用adb shell
命令看到,在PC
中打开终端:</p>
adb root
adb shell
C:\Users\juniorj>adb shell
generic_x86:/data/user/0/WorkingWithFiles.Droid/files # ls
generic_x86:/data/user/0/WorkingWithFiles.Droid/files #
现在您将看不到隐藏文件夹,您需要使用ls -a
查看隐藏文件夹:
generic_x86:/data/user/0/WorkingWithFiles.Droid/files # ls -a
. .. .__override__ .config .local
generic_x86:/data/user/0/WorkingWithFiles.Droid/files/.config # ls
myfile.txt
这些
System.IO
类可用于访问每个平台上的文件系统。该类File
允许您创建、删除和读取文件,Directory
该类允许您创建、删除或枚举目录的内容。
此外,还可以使用以下File.WriteAllText
方法编写文本文件:
File.WriteAllText(fileName, text);
试试下面的代码:
string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "temp.txt");
File.WriteAllText(fileName, "input content");
这里filename
是:/data/user/0/WorkingWithFiles.Droid/files/.local/share/temp.txt
/.local
也是一个隐藏文件夹,adb shell
用来查看.txt
文件:
generic_x86:/data/user/0/WorkingWithFiles.Droid/files/.local/share # ls
temp.txt