{"version":"1.0","provider_name":".NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2","provider_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch","author_name":"Mia Wu","author_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch\/author\/miywu\/","title":"System.IO \u7684\u4fbf\u5229\u6027 | .NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"Bqog77JUqa\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet-ch\/system-io-%e7%9a%84%e4%be%bf%e5%88%a9%e6%80%a7\/\">System.IO \u7684\u4fbf\u5229\u6027<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/dotnet-ch\/system-io-%e7%9a%84%e4%be%bf%e5%88%a9%e6%80%a7\/embed\/#?secret=Bqog77JUqa\" width=\"600\" height=\"338\" title=\"&#8220;System.IO \u7684\u4fbf\u5229\u6027&#8221; &#8212; .NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2\" data-secret=\"Bqog77JUqa\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/dotnet-ch\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch\/wp-content\/uploads\/sites\/75\/2023\/11\/systemioconvenience-1024x576-1.jpg","thumbnail_width":1024,"thumbnail_height":576,"description":"\u672c\u7bc7\u7ffb\u8bd1\u4e8eRichard Lander\u7684The convenience of System.IO &#8211; .NET Blog (microsoft.com)\u00a0 \u4e0e\u5176\u4ed6\u5f62\u5f0f\u7684 I\/O \u4e00\u6837\uff0c\u8bfb\u5199\u6587\u4ef6\u5f88\u5e38\u89c1\u7684\u3002\u6587\u4ef6 API \u7528\u4e8e\u8bfb\u53d6\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u3001\u7f13\u5b58\u5185\u5bb9\u4ee5\u53ca\u5c06\u6570\u636e\uff08\u4ece\u78c1\u76d8\uff09\u52a0\u8f7d\u5230\u5185\u5b58\u4e2d\u4ee5\u6267\u884c\u4e00\u4e9b\u8ba1\u7b97\uff0c\u4f8b\u5982\uff08\u4eca\u5929\u7684\u4e3b\u9898\uff09\u5b57\u6570\u7edf\u8ba1\u3002File\u3001FileInfo\u3001FileStream\u548c\u76f8\u5173\u7c7b\u578b\u4e3a\u9700\u8981\u8bbf\u95ee\u6587\u4ef6\u7684 .NET \u5f00\u53d1\u4eba\u5458\u5b8c\u6210\u4e86\u5927\u91cf\u7e41\u91cd\u7684\u5de5\u4f5c\u3002\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u5728System.Text API\u7684\u5e2e\u52a9\u4e0b\u4e86\u89e3\u4f7f\u7528System.IO\u8bfb\u53d6\u6587\u672c\u6587\u4ef6\u7684\u4fbf\u5229\u6027\u548c\u6027\u80fd\u3002\u00a0 \u00a0\u6211\u4eec\u6700\u8fd1\u542f\u52a8\u4e86\u5173\u4e8e.NET \u4fbf\u5229\u6027\u7684\u7cfb\u5217\u535a\u5ba2\uff0c\u8be5\u7cfb\u5217\u63cf\u8ff0\u4e86\u6211\u4eec\u4e3a\u5e38\u89c1\u4efb\u52a1\u63d0\u4f9b\u4fbf\u6377\u89e3\u51b3\u65b9\u6848\u7684\u65b9\u6cd5\u3002System.Text.Json \u7684\u4fbf\u5229\u6027\u662f\u672c\u7cfb\u5217\u4e2d\u7684\u53e6\u4e00\u7bc7\u6587\u7ae0\uff0c\u4ecb\u7ecd\u5982\u4f55\u8bfb\u53d6\u548c\u7f16\u5199 JSON \u6587\u6863\u3002\u4e3a\u4ec0\u4e48\u9009\u62e9.NET\uff1f\u5219\u63cf\u8ff0\u4e86\u652f\u6301\u8fd9\u4e9b\u6587\u7ae0\u4e2d\u6db5\u76d6\u7684\u89e3\u51b3\u65b9\u6848\u7684\u67b6\u6784\u9009\u62e9\u3002\u00a0 \u00a0\u8fd9\u7bc7\u6587\u7ae0\u5206\u6790\u4e86\u6587\u4ef6 I\/O \u548c\u6587\u672c API \u5728\u5927\u578b\u5c0f\u8bf4\u4e2d\u7528\u4e8e\u8ba1\u7b97\u884c\u6570\u3001\u5b57\u6570\u548c\u5b57\u8282\u6570\u7684\u4fbf\u5229\u6027\u548c\u6027\u80fd\u3002\u7ed3\u679c\u8868\u660e\uff0c\u9ad8\u7ea7 API \u6613\u4e8e\u4f7f\u7528\uff0c\u6027\u80fd\u4f18\u5f02\uff0c\u800c\u8f83\u4f4e\u7ea7\u522b\u7684 API \u9700\u8981\u4ed8\u51fa\u66f4\u591a\u52aa\u529b\u624d\u80fd\u63d0\u4f9b\u51fa\u8272\u7684\u6548\u679c\u3002\u60a8\u8fd8\u5c06\u770b\u5230\u672c\u673a AOT\u5982\u4f55\u5c06 .NET \u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u7684\u6027\u80fd\u8868\u73b0\u63d0\u5347\u5230\u4e00\u4e2a\u65b0\u7684\u7ea7\u522b\u3002\u00a0 The APIs\u00a0 \u57fa\u51c6\u6d4b\u8bd5\u4e2d\u4f7f\u7528\u4e86\u4ee5\u4e0b\u202fFile API\uff08\u53ca\u5176\u914d\u5957 API\uff09\u3002\u00a0 File.OpenHandle\u548cRandomAccess.Read\u00a0 File.Open\u548cFileStream.Read\u00a0 File.OpenText\u548cStreamReader.ReadStream\u4ee5\u53caReader.ReadLine\u00a0 File.ReadLines\u548cIEnumerable&lt;string&gt;\u00a0 File.ReadAllLines\u548cstring[]\u00a0 API \u6309\u7167\u63a7\u5236\u7a0b\u5ea6\u6700\u9ad8\u5230\u6700\u65b9\u4fbf\u7684\u987a\u5e8f\u5217\u51fa\u3002\u5982\u679c\u60a8\u5bf9\u8fd9\u4e9bAPI\u4e0d\u719f\u6089\u4e5f\u6ca1\u5173\u7cfb\u3002\u8fd9\u7bc7\u6587\u7ae0\u4ecd\u7136\u662f\u4e00\u4efd\u6709\u8da3\u7684\u8bfb\u7269\u3002\u00a0 \u00a0\u8f83\u4f4e\u7ea7\u522b\u7684\u57fa\u51c6\u6d4b\u8bd5\u4f9d\u8d56\u4e8e\u4ee5\u4e0b System.Text \u7c7b\u578b\uff1a\u00a0 Encoding\u00a0 Rune\u00a0 \u6211\u8fd8\u4f7f\u7528\u4e86\u65b0\u7684SearchValues \u7c7b\u6765\u67e5\u770b\u5b83\u662f\u5426\u6bd4\u5c06Span&lt;char&gt;\u4f20\u9012\u7ed9 Span&lt;char&gt;.IndexOfAny \u5177\u6709\u66f4\u663e\u8457\u7684\u4f18\u52bf\u3002\u5b83\u9884\u5148\u8ba1\u7b97\u641c\u7d22\u7b56\u7565\u4ee5\u907f\u514d [&hellip;]"}