C# : File

[".0s4*0|collections;datetime-format;file",["F@eGMX","OIMAOGBEMAJAMOJEMA","OOOCBSTUUUUTTUUUUYFGDHDADFOCOBBPHDGDOBCCCBPGDHDHDRDADRDRDGDGDFOCCCBPGHDADGDFOBWSTTUUUUTTUUUU",".wt..rff..",".NET","Array","Dictionary","List","String","2D","Async","Console","DataTable","Dates","DateTime","Enum","File","For","Foreach","Format","IEnumerable","If","IndexOf","Lambda","LINQ","Optimization","Parse","Path","Process","Property","Random","Regex","Replace","Sort","Split","Static","Substring","Switch","Tuple","While","StreamReader."," This reads text files. It is found in the System.IO namespace. It provides good performance and is easy to add to programs.","Using statement."," StreamReader is often used with the using-statement. This construct helps dispose of the system resources. We often place a loop inside \"using.\"","First example."," We use the StreamReader type inside a using-statement. This statement allows you to leave the file disposal and opening routines to the C# compiler's knowledge of scope. ","Using: ","This statement will be compiled to instructions that tell the runtime to do all the cleanup works on the Windows file handles.","Using ","using","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses StreamReader","\n\nusing System;\nusing System.IO;\n\nclass Program\n{\n static void Main()\n {","\n //\n // It will free resources on its own.\n //\n ","string line;\n using (","StreamReader"," reader = new StreamReader(","\"file.txt\"","))\n {\n line = reader.ReadLine();\n }\n Console.WriteLine(line);\n }\n}\n\n","Output","\n\nFirst line of your file.txt file.","Notes, scope."," When objects go out of scope, the garbage collector or finalization code is run and your program's memory is reclaimed. A scope is a block between brackets. ","Tip: ","Scope allows the compiler to make many assumptions about your program. It can tell where the object becomes unreachable.","While loop."," Next, we see an alternate syntax form for the inner-loop in the StreamReader. It uses an if-statement with a break in it. ","If ","if","Break ","break","Code that uses while-true loop: C#","\n\n","while"," (true)\n{\n string line = reader.ReadLine();\n if (line == null)\n {\n break;\n }\n Console.WriteLine(line);"," // Use line.\n","}","List."," It is possible to put an entire file into a collection. One requirement is that you need to read in a file line-by-line. You can store all those lines in a generic List or ArrayList. ","List ","list","New: ","It creates a List. A new List generic object that stores strings is created.","While: ","It runs a while-loop. This loop reads in lines until the end of the file.","And: ","ReadLine returns null at the end of a file. There is no need to check for EOF. Finally it adds lines to the List.","While ","while","C# program that reads all lines","\n\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\n\nclass Program\n{\n static void Main()\n {","\n //\n // Read in a file line-by-line, and store it all in a List.\n //\n ","List<string> list = new ","List","<string>();\n using (","StreamReader"," reader = ","new"," StreamReader(","\"file.txt\"","))\n {\n string line;\n ","while"," ((line = reader.","ReadLine","()) != null)\n {\n list.Add(line);"," // Add to list.\n ","Console.WriteLine(line);"," // Write to console.\n ","}\n }\n }\n}\n\n","Output","\n\nFirst line of your file.txt file.\nSecond line.\nThird line.\nLast line.","Close."," This is an error-prone way of using StreamReader. We open a file in one line, deal with the file, and then make a call to close it. The code shown below is cumbersome and unclear. ","Warning: ","There are problems with this style of code. It is harder to type and read, and bugs could creep into the code.","However: ","Other than those problems, it works well. If the file is not there, it will throw an exception.","Exception: ","If the exception is thrown, you must have a finally block to release the unmanaged resources.","Finally ","finally","C# program that uses Dispose","\n\nusing System;\nusing System.IO;\n\nclass Program\n{\n static void Main()\n {","\n //\n // Read a line from a file the old way.\n //\n ","StreamReader"," reader = new StreamReader(","\"file.txt\"",");\n string line = reader.ReadLine();\n reader.Close();","\n // You should call Dispose on \"reader\" here, too.\n ","reader.Dispose();\n Console.WriteLine(line);\n }\n}\n\n","Output","\n\nFirst line of file.txt file.","StreamWriter."," This writes files. It can be used in programs that use StreamReader, but the two types are independent and can be used by themselves. ","StreamWriter ","streamwriter","A summary."," StreamReader easily reads inlines of text files. The using-keyword has good performance. The base class library's file IO methods are efficient. They are well-designed. ","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAAA7CAMAAADWzk8EAAAAMFBMVEX////79fz47vv+/P704vj25/nx2PbFyvHj5filruvz3ffT1/WKl+Z6iePw1fWapemLxEvfAAAEGklEQVR4Xu3aa3ODKBQG4HPjrub//9stajyLhFbYZKfN5P1UBh15gCI4gV8SRmR4k3Bc7sH3I9GH9CF9SB/Sv2M+pL8QPPI0wCeM93BVrsNIRtYQIX87SNysQJJ1EYmCoGk/iI+bB3cw3yxZbOJSxApdWB60os5jFOqDipixVdc0SaQgTWySzBWSwjVMCioT+bkkjO2njJMWrEV2eRXJlHZZXkKyDI2uezmJ7GtIC0HVda8nKfUVpMjNQbLxJaSavgiRSBwnRUNotYit2SAIIHrZV15FokOBX+knmXwLq4lKksqzFavmjJLsV8zIFptKUrtCfpzgkulor846TUXaQW2SJX4CScvSpBcki0NbZyXFGKm6ThMN8bNIkRsT76mkLJLWHG81ut3SmtAmYfHGYqPCAZIpSHIigV3q0PNJbBWBaGwhHydlk5jkc4ruq0LDJGyQmi8wM0TSR+dhwjkndJi6SLZB4sciS9BF0hUOyO4mITiZ2JZZTXwi7XVDJMXXEb5O0hVO27SaCNSk+35NVtX79aNKrpIsws+miHA5tIp0OUCJMaNymwpTfeBcVeZEulfFAVJ7Ly4I3SQRs5OMEdFuVlMRJDL5wqrlaPaIGSWxOXsMMXQE7b7A7SQmog0l/MMnCyKqWs601xCNknSQ6MoXB5eTciG5HACO1q4kohSmeZ6nEFyye//rLZwFiPfyeu0U/Knl3rkQgnPeJ+fSGIk69ws6kcKcA2yyKUZDdJs1zkgm6S1sJG70uYgrRKGoC0MknXcIYyaU1SRmI6nJcHELNkwzgZKmuWVCe52kOb6w9ZnMZjLkyu4nhscmnJsDdTtxwwAJe99LtYnp3v1beQohTNnEcDLlC2MUuptuYQNMOkw7Mm01N+dqkv2BBLI8DHWZTIy7SRtInuCB6StmN93wMBymdIxbUGxF+J7E8emm2fnMYIC26dwtfiexO4rbX/0kNksjOGza50yCb0ysJleYcCumymTkno1AWr4oWqRrjQCkHGQ3a6ZU38LrhYi1qZx7k99JE/SFbJNkuct0BIuF2FemI00TNhbERpobPNr2KKIkhDETUJg1odekZe2WjlSHjvL7WK9J4124D9Y0YsIwa1IPiapjLMarJFjbfKtMGkwba8QEd9MUHI2R7C4yFydesfzi7WRCT3rJmMnrZqkrWH5aI4nXz4E65UMWlSavu4jRued6J13xnzN8WE9zmVKrcaMmnX2+d+Zp+g4bOF0z+RETTUOLubRIV8+2/pIpwfgaofH/xWQ7Tuvkcm8Gt0VNlFzY2hQc1UfjR2XvcqhFmt343BOCX5G0QXJuOpiNtH8mEIUQfkvC8e4DVFPvz0zgV0VPK37/E/583HxK+vumdCLdAN5toALCO8S7Y1/vPLxPyHv/v3r+AfuRu9NU4gF9AAAAAElFTkSuQmCC)","url(data:image/jpeg;base64,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)"]

["url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEXv2f////+VlZX29vYeLcrOAAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAA6CAMAAAD7u1flAAAAMFBMVEX////q8v3gdHf1+P3tr6/00tPan6vZW2HokZHYiZXW6v/W1unYq7rYtsbYExPXyNkNBcLBAAAD7klEQVR4Xu2a647qMAyEYzuXXri8/9ueUkY9Sae0Cqo2ywr/wyrGXzNMUoM7MUxEXPCdP7dibcmTkYbhGvU2hT+v4nB/loyNiO5R0w3hzyCikj8dwyNAVItlZs6FEIwqomQ7LHuKJdVj2TDFPZHKTAYq2SDQ4AVk/p119oRMJRvEfH8VWDXvicBKXBElPxJLb4gPwPpi9aDST8ZiyxiBFf4AFht8cJ+Pxduxc78YK77dww9jfbG+WF+s/i9ivV/yi/XFMpniHvUR0cvBzMCJj/ENLJPnx/TZ59B5M+kc+XHaZBAX9NZx84iwhfVgvPbZVZ0cTkG0EgvcY593kzw91+ahGYZ7gNIhDqGygRWpIPpioh61qrDYKLmhZRaxEMdQHLEFi5JffZnLKSYrhAXwIuLrM2Q9FkYCd6Bc7hMAliZvNbvmltYTillFZVICGiGsLFSV5VrcnvHSV2AR1eXZb1hdG7bvnWykUwlgXd4nYyUfbOYfocaiRCkTrcYC1fVJZWtJJqNlQQmeDJXCdBkpYyn5yN73I9ZgsQIDjxYjAUAODBvzpHnqkvYt5tKTsICQFl5yENkcKxhpEBIqzNEOsFjdJ2ARr9G3DaxsGp40CBUiKcbOxlisbjs+mhxjsd5YmKm8Fhap1BIwkHQeC72LxeoOJ2CR6zEsmmMns5wUkZai4hToTbCGvC9aQ6LNsn417sKlSJrg1TEW8no61kg+MxAAmYY6JGSqmvpMhQINJtcAi9PxEMuww0GF8IY04SCZHJJuSvrGWD160lXkWGwaHt4QJpxxEWyWlMZYetsNv92Ywhuml7pIs0Oyg0obYBViO8Yii5DZG9wEc/m/n7k5adRgO6wubIe86MAvcsukGYwMozGWd3vB228S7E8xq90Jkv5DsHjrukNuIZfmROgERvkJWLx19ZBbYZCXp4t07rdg6T4Qn3fTYPP+VEhTpyS119Lg0wERb11XyK2Q5kiG0XjfktphXw+5FdKMZBjtDk/I15rGQ4NhdapKhjvUDssGmidVmQbkVrJG+pq2OcEPqWa5lpUBGbGiuQZYlEdYhQoRQgZJy34alh7+vrV9Kkz27j9AilWPO1h6LhaVpGkMxp8HwaMaHghIOywGBrNUbV1bZ3t1DbHYNRDqUfupyN0HjI5YUf/odkTK77lCz1bNvXdunwtPyj2ekGXHNMIWq72U4BiXj4khn7JfF7l03ujHBc3m9gVxWVK9vPITDpXXakorVslXkG0mrSoH/HKglM9UsXpT6jImKpnYN64LNn8Em4Z4SClnNS1WkNe3DI/OKU9Wksfug71u/+u1jC4c/buKc+J+VZjMOu4V2N2i439AksfBbLouyAAAAABJRU5ErkJggg==)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAABECAMAAADuirSUAAAAMFBMVEX////V7/mWn6Gi3/N6enrg4eG75/a3uLjy+v3Iycnp9vuc0eOYxtaQtMD4+Pj5/f5J+Z7pAAAC2UlEQVR4XtXZ646rIBSAUfaF60Xf/22PR+xkpBurHW3x+9mIWaGkhKJOadBaq1vmkf9n78cfkB/ZG9K/hfeN9gKQf+c/audGOwGa1w03stvK7m9kx8pub2TnKrwMqq2+eN6RjLsEzsz64vWeiQjOdQ8z/AK7ruyRzsUPvsAP2aF0cOKR5uDMpXLcTqVj+yrT0niOHXnT7qe4Kk9Jdhlv+RFGWoJr7ELSnIt2OY1Fnom6tssNKSX6nbnOHsCdaleG6CP2AEQUzrVDZYcmJ2g9vGsHIjrNrn9KpUglJz9uFwz6UL1gEN+9tuc0F8+xc2nf77tfSWxY7WxamnO5fKndjOKPUZW/0g5T79iNE+gCwip/mb0AjtoNKIku5fuyh9aBXAy7sisxz636t/Mt7GHOba92RHyyh9K4ww5hzp1tpzmzuWQSTUWsPiuFHXYqwd/siHjcjlSKuGm3zy8vnWEv4Vv2ErbtJfm7+aKdIy3FG9h1Y8US9m8fuA6LI+VHsVe7sswSv6pPu2axnEz/dmW5kQ3Qu31AbuvNQbspvbKvXEfsB/DszU579cyn7Gqw3Aw7tpc0tvF927f1CEuuV7syMeOLs0e39kBTSfLbXu0WHyUqPfNdR3aZYA0txUofwV1kl13H7ax/8IlrGKg6u23XU1yVSlrr0+2soWknM27+v5BrO+9LdrFU2rQzLtso1nYB75/XQ8z5S/YSTnFV3HHg4ozM/E27nLivaq7r0Z7FC5NwC3vjsgI7sheLOEa8MbEd2ZOMz63DR+jIToQiXbbLE5/hSntByHbK0gDZLp+38rwLOIDP2pGo1mOmVe7lMT2TAWN+XcjRnmr75uCwcYMcMyIzYs7x9duDRf4Jc6LSt+ztQEmF1e1tr/Zx886/C7shuaDkoCN7gNaKkXMd2cf2TMpBP3ZJY4JqN5pe7GbmwEoOajsQ7N/MzZuMMQBu18NUmocEda/G1fXtP47JaK+yvhpRAAAAAElFTkSuQmCC)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAAB/CAAAAAB0qydQAAADaUlEQVR4Xu3aPY6jMBiA4b2YSw7AHbiCr+BuWqppOQC1W2o6KjoqChMhK0JW/Lewwy6bITNjQhI+S34L6qdAnw32L+t1HvGNVvIihBjOnPcnxrgAzTdaX3HXnUc+JK5acb/vcjB/8g7DxO3YHfFD+aJj++qO5Au2uwP5knnN537zO7/5LPADP/ADP/ADP/Cf/1Wi5JiXfCOnfOVr6TPfSK/52m++8oMf+A1NCRojJK+849cELVHf+HWMPOa3MfKZT5HX/MRrfoOu82zyVGgOl9VU6xe/QHONl8sWRXPsQH7gN37zE0pTkiDq3+Txf+6HVTfsefbvODPv9vsYLZECOn9dkZEYxSSlZRs+1V/LD/zAD/zAN0YruVx76vgFNN9c3dnr2LoBKN8IfmIOXUDy9Ym5xSHyjauedRD5gjkHkd8/mG/kwNumKmn+/oaTOIpw+Uw+28tXgrOmLos8eyMjF61LAfJ5kaUEJzFyqITG1+9oQxgan6AtRY/kd/v5FdrWI/l8Px8fyJf7+dFxfGH389FR/E7YI/n9feie82EQ4qKs/ZFfU0oIyYpn8IUb99TzD/BIllOL94pvzGdjGqO57Al8yR24q9Z8o+Y+G9FS/QS+FP1f7vk214WvlQOfPoO/bjtfq6/5CckojSHzjfqazxqakQRB5utv+MV9L0+c5nle0KP5DfqJb8bWQMKmqqP5dALgltyanEarqREAmx/jmwfcMwAyv5wB9/IxIUfy23gPv22nR/5wvnLlszqdxkhR54SW2/hL6aP52pm/bju/fTBf25fyGX4kX2n7In47n2hmu/lKaa2NMXbqVfxqXupyB74b98X83IG/cNdekHzlwAXBr29Ozr3iAyaPv/waec0nEPm9I79NEUT++Ts+rqqqYaypiixGEPmny4rv0LP5vateSIh84WTnQkuQfMXZuuU32EXpj5XSAOUr0f/jDmIES/Vff+iQ+evg8AM/8CO/+dhvfgWMH23SYwOMj7foU22B8SsXdpRgkmZFby00vkxvcePR+57RoqwbxoWxcwfytb3Nl2USoYmbZvnEbftByOsA8LVd8R2CwtcWJN98a54zxliYfGv0De6cXQLKnzRfc+HzHQv87QV+4CvrNV97zVcWFt+qbWeZ0Ph60+kgOL5VrlyYfGv0zD223xRtmukE6q2rAAAAAElFTkSuQmCC)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAAA8CAMAAADLy3+8AAAAMFBMVEX///9/frjX1+inp81WUaW6udfGx97q6fIbDJDr+PfE7Onc9PLN7+zT8e/0+vu56eUR9HoqAAAEp0lEQVR4XryXzQ7DIAyDfc0fe/+3XTeph4YGI5D4jiSo2HMQA+TzRNDhzw7FD30uOjr6JsMf+czj4PATI1GozqsNYDsVpzS1fGQiOuplslOOaUIkN4nmVrhN3XKc04ScraFkq0JrzKx2UpMla0Zma10hXhlOaoIOJipSjZRqq3BWkwy8SSUyL7VTdlgTvHTcipngRUnJXNMkWCU7TmaiqMbAJ1nTZFgnjwabCV5uyaUlTYoNWuG4FmbTmYGNYlnBHiccPhpSu8YadCVCvpU84njwn2ncIao5lBwjydu8z1u/Fnyb48b1B/GbvsJ28V5A8E/AX3uaX6gq8Zv8M9lG+jts5hPy2iRxcYuS1SfaPpEl2FS4463LLv6i5g8n28PE45yyIFPbvqyX65brIAiFQckFCfb93/aUkIacrprRzuwfNWp15RPc0cLWMiGtK2EuO1QdzLzyVFdwx4PP3JkJekEqCpBoPfSw7JOBLCmuzlHjfl6014P+Y6rLiUSWfL2ZV1ybS+GvxN+duySYNmU0minNGbNuW2HoUd0OIlUxVfgzbS0muNWVSSxCFaAyi3YvuOh2EjHzONJ4oLjLhYNpAYMypgpgDQBR+uO04Eq5Qs30LNX4ffC0ZLr0vPCWbAmAE8QUqSLtM+49r4fcMuZBXy0XJtpzz5lUoMWUyep0GAqKqAXp7IgecFkt6jGFVabrsqWGMY9ezPjCNPkrYWIRhQbTKTrKSUy8fuhxBlwJ0erzyUTnjOTtyRrv/Dyk3RuxlE0EVxeK8A0TJdyLeTYu5JOJJmuJHmeYk/1E3bnRa9navciNNBo/S/LJpMIzORQJ3DAtsBypkqw0JuZrS3pf+JSz1YMJz83m7WjTdtmEDDimMQnX2WOV75jeepiFnenzGHMM13VZXE6TwKPVE6guY63XQJmVGxWNMJlqk6k6UTDF08slskV16rPzrf9sE0zgrzfE1IhT7JgELSZzCbL/1M7PLncHyo4CSbjWM8XDYNOvmMjft8mU3QfxLkzjx345woQrTinlsCwMD/vAVJ9yJpEGU7jK3GRa1l3z7W4av3EeTJH4tJy57rplkqeaTL4wuDaZYO+j++PouE3IzvQIpAQu8mr+yPTKODG1PSL5HNRi8hDmlnsNfnVDvp/m7GsaDnQc3KYPTM6yl6rK0GSChGYSYQPvTHVtOIQ+GuKB5FMx9YxgET319aUpcg+H7k+llynuQB1WqbqFylbhay2GRPUng9DhQL3cfFcHk4FcxPC1cpx278Kkb3urh8mhXAo/SQInBgwrrBX/NWsGKRCEMBAElmWJ0fj/3y7McZQapCeQ/KCwCZjqR69r99vYgRcGppzb1+/6si2znvPidJ8fCb4A4Xo+n2886xpfLEN/l6mBj0u6r2zSYQKTrjB0r+EbzCYzcXlGH85CbDinC0ypCoOzwJ2ikJjyk4cGPUjz6kzn2lb3NB19vM50QxoG85amMeoU6UxjJpc+YMFBK0xh8pnCxPk2WLo6U8wUJt6sjYIyZKaWw8RhMBb8KtNMY8J40UP1uky0BhjZKjNBV5eYW1Um7i1xNr0yE3TfUR5GdaatP+OH6rWZ/usREj10r/sZAAAAAElFTkSuQmCC)"]