File读写文件

File类中包含一些静态函数,用于读写文件。

1.文件路径

var path = Path.Combine(Environment.CurrentDirectory,"April.txt");

2.读文件

  • ReadAllBytes 打开一个二进制文件,将文件内容读入一个字节数组,然后关闭该文件
byte[] buffer = File.ReadAllBytes(path);
string str = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
Console.WriteLine(str);
  • ReadAllLines打开一个文本文件,读取文件的所有行,每一行作为一个字符串,返回字符串数组,然后关闭该文件
string[] lines = File.ReadAllLines(path);
foreach (var item in lines)
{
    Console.WriteLine(item);
}
  • ReadAllText打开一个文本文件,读取文件,文件内容作为一个字符串返回,然后关闭该文件
string test = File.ReadAllText(path);
Console.WriteLine(test);

3.写文件

  • WriteAllBytes创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllBytes(path,Encoding.Default.GetBytes("时代周刊"));
  • WriteAllLines 创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllLines(path,new List<string>() { "华尔街日报", "华盛顿邮报", "纽约时报" });
  • WriteAllText 创建一个新文件,向其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllText(path, "哈佛商业评论");

4.代码示例

class Program
{
    static void Main(string[] args)
    {
        //读取文件,返回字符串数组
        string[] strArray = File.ReadAllLines("TextFile1.txt");
        foreach (var item in strArray)
        {
            Console.WriteLine(item);
        }
        Console.WriteLine("-------------------------");

        //读取文件,返回字符串
        string str = File.ReadAllText("TextFile1.txt");
        Console.WriteLine(str);
            
        //将字符串写入文件
        File.WriteAllText("TextFile2.txt", "人民日报");
        //将字符串数组写入文件
        File.WriteAllLines("TextFile3.txt", new List<string>() {"华尔街日报","华盛顿邮报","纽约时报" });
        Console.ReadKey();
    }
}

运行结果

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android 11中,由于对文件访问权限进行了限制,使用FileProvider来读写文件已经成为了一种标准的方式。 以下是使用FileProvider读写文件的步骤: 1. 在AndroidManifest.xml文件中定义FileProvider: ``` <provider android:name="androidx.core.content.FileProvider" android:authorities="包名.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> ``` 其中,`android:authorities`是FileProvider的标识符,`android:grantUriPermissions`表示是否授予其他应用访问权限,`android:exported`表示是否允许其他应用调用。 2. 在res/xml目录下创建file_paths.xml文件,定义FileProvider的路径: ``` <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-files-path name="my_images" path="Pictures" /> </paths> ``` 其中,`<external-files-path>`表示文件的路径,`name`是自定义的名称。 3. 在代码中使用FileProvider读写文件: ``` File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "test.jpg"); Uri uri = FileProvider.getUriForFile(this, "包名.fileprovider", file); try { InputStream inputStream = getContentResolver().openInputStream(uri); // 读取文件内容 OutputStream outputStream = getContentResolver().openOutputStream(uri); // 写入文件内容 } catch (IOException e) { e.printStackTrace(); } ``` 其中,`FileProvider.getUriForFile()`方法将文件转换为Uri,`getContentResolver().openInputStream()`方法和`getContentResolver().openOutputStream()`方法分别用于读取和写入文件内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值