我有一个文件,其中包含我上传到Azure blobstorage的文件,看起来像这样:
TAR-2312;12;;123;1A1195061;231
SSS 2637218;2/9;
1A1321268;1231195061
我的触发器处理文件,但是我得到The filename, directory name, or volume label syntax is incorrect: "path.../TAR-2312;12;;123;1A1195061;231 SSS 2637218;2/9;1A1321268;1231195061
发生在突出显示的通话中
public static XDocument Convert(Stream blob)
{
StreamReader reader = new StreamReader(blob);
var contentOfFile = reader.ReadToEnd();
***List<string> lines = File.ReadLines(contentOfFile).Take(2).ToList();***
有什么想法,为什么要解决?
答案 0 :(得分:1)
出现此错误的原因是因为File.ReadLines
方法需要文件路径,并且您正在传递文件内容。
在您的情况下,最好使用String.Split
方法使用换行符定界符(\n
或\r\n
)分割文件的内容。
答案 1 :(得分:1)
列表行= File.ReadLines(contentOfFile).Take(2).ToList();
File.ReadLines(字符串路径)需要路径而不是内容。此处有更多详细信息:ReadLines
无论您要实现什么目标,都可以按照以下步骤完成:
//Get the reference of container and pass the blob name
CloudBlob blob = container.GetBlobReference("BlobFileName.txt");
List<string> lines = new List<string>();
int countTake = 2;
using (var stream = blob.OpenRead())
{
using (StreamReader reader = new StreamReader(stream))
{
int count=0;
while (!reader.EndOfStream && count!=countTake)
{
count++;
lines.Add(reader.ReadLine());
}
}
}