有什么方法可以找出某个文件所使用的语言?

时间:2014-05-08 19:58:43

标签: node.js

如果我使用Node.js向我发送了一个任意文件,我该如何找出它所使用的语言?它可以是PHP文件,HTML,带有JavaScript内联的HTML,JavaScript,C ++等等。鉴于每种语言都是唯一的,但与其他语言共享一些语法。

是否有任何软件包或概念可用于确定特定文件的编写语言是什么?

1 个答案:

答案 0 :(得分:1)

您需要获取文件的扩展名。您是否使用包含扩展名或仅原始文件的名称获取此文件?没有办法判断你是否没有使用扩展名获取文件名,或者扫描它上传到的目录并获取文件名,并执行目录列表任务以循环遍历所有文件。节点具有文​​件系统功能,因此两个选项都有效。您需要文件的名称,并在变量或数组中保存扩展名才能执行此操作。根据您的处理方式,您可以通过扩展构建一个文件类型数组,您可以尝试使用此node.js mime

示例:

var fileExtenstions = {h : "C/C++ header", php : "PHP file", jar : "Java executeable"};

您可以使用split()或indexOf()和子字符串拆分包含文件名的字符串。

拆分示例:

var fileName = "hey.h"; // C/C++/OBJ-C header

var fileParts = fileName.split(".");

// result would be...
// fileParts[0] = "hey";
// fileParts[1] = "h";

现在你可以循环扩展数组以查看它是什么并返回你在对象文字中设置的文件的描述,你可以在数字索引上使用2d数组和for循环并检查第一个索引以查看它是扩展名并返回第二个索引(第二个索引是1

indexOf例如:

var fileName = "hey.h";

var delimiter = ".";

var extension = fileName.substring( indexOf( delimiter ), fileName.length );

现在遍历对象并比较值