Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读入文件扩展名并执行特定操作,Java_Java - Fatal编程技术网

如何读入文件扩展名并执行特定操作,Java

如何读入文件扩展名并执行特定操作,Java,java,Java,所以我用Java做了一个简单的文本编辑器;但是,我需要知道如何识别某个文件扩展名,然后执行某个操作。坦率地说,我有两个包含java和python关键字的文件,用户应该能够将文件保存为.java或.py,或者打开一个.java或.py文件,并且关键字的颜色应该与文本的其余部分不同。我对如何在中阅读这些扩展感到困惑 似乎简单的情况类似于filename.endsWith(“.java”)检查文件名是否有.java扩展名。也许还有其他方法可以通过mimetype来发现文件类型,但我恐怕现在不记得了 编

所以我用Java做了一个简单的文本编辑器;但是,我需要知道如何识别某个文件扩展名,然后执行某个操作。坦率地说,我有两个包含java和python关键字的文件,用户应该能够将文件保存为.java或.py,或者打开一个.java或.py文件,并且关键字的颜色应该与文本的其余部分不同。我对如何在中阅读这些扩展感到困惑

似乎简单的情况类似于
filename.endsWith(“.java”)
检查文件名是否有.java扩展名。也许还有其他方法可以通过mimetype来发现文件类型,但我恐怕现在不记得了

编辑:也许您应该小心地将字符串转换为小写,这样即使文件扩展名有不同的大小写,也可以识别它,无论您的系统是否有区分大小写的文件系统

Edit2:实际上我发现可以使用java7特性来检测文件类型。如果您有一个java.nio.file.Path对象,则可以执行以下操作:

String type = Files.probeContentType(filepath);

返回的类型是mimetype,例如text/x-java for java源代码。我不确定它有多好,也不确定它是如何识别事物的,但我已经测试过它在示例java和python源文件上工作。

您意识到文件扩展名仅仅是装饰吗?虽然一个合理的预期是,所谓的“.java”文件确实包含java代码等,但这只是一个假设?你将如何处理失败?谢谢你的提示,原来我只是决定把我的文件名在点上分开,然后从那里开始。