使用http://rextester.com编译器,我想从我的计算机中读取文本文件。我没有在这台电脑上下载C#,所以我使用的是在线版本。
这是我的代码。我想将我的所有行转换为字符串数组。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
System.Collections.Generic.IEnumerable<String> lines = File.ReadLines("C:\\Users\\<<NAME>>\\Desktop\\new 2.txt");
}
}
}
<<NAME>>
被我的计算机用户名替换(出于隐私原因对其进行审查)。
不幸的是找不到文件,它给了我这个错误。 The name 'File' does not exist in the current context
。
如何让在线C#编译器从我的计算机读取TXT文件?
答案 0 :(得分:3)
对于初学者,您需要引用System.IO
(我认为)才能使用File。
其次,你没有,不,我再说一遍, NOT 想要一些网站从你的电脑上读取文件。
即使您的在线程序以某种方式知道C:\
表示您的硬盘驱动器,而不是我的硬盘驱动器,或者称为C:\
的数百万其他磁盘中的一个(并且它没有,因为{{1}会引用程序运行的elocal机器,所以它总是是你的程序运行的服务器的C盘!),如果你的程序可以从读取你的 C-drive,这意味着 I 也可以从您的硬盘中读取。你想要吗?
顺便说一句,要在自己的机器上编写C#(并运行它),您不需要安装C#&#34;。周围有很多免费的编辑和编译器。甚至Microsoft Visual Studio也都是免费版本的Community Edition。如果你想选择编程,试试它(或任何替代方案):)
答案 1 :(得分:2)
您的浏览器不会让网站完全访问您计算机的文件系统。这是一个巨大的安全功能,需要到位。
如果rextester允许使用JavaScript上传单个文件,则可能会创建一个c#可以访问的“假”文件系统。
如果没有,那么您需要编写c#代码,这些代码可以上网,找到您的计算机,登录并以这种方式读取您的文件系统。 FTP可能是一个不错的选择,因为允许直接文件系统访问互联网是有风险的。
答案 2 :(得分:1)
你不能。 Rextester无法访问您的文件系统。一般情况下,除了通过操作系统提示确定上传/下载之外,浏览器不会。想想网站可以读取您计算机上任意文件的后果。