此代码是否符合 Java 中的蒯因?

Does this code qualify as a Quine in Java?

这是代码。它基本上是从原始代码文件中读取并打印到终端上。

import java.io.*;
public class Quine
{
    static void Quine() throws IOException
    {
        FileReader fr = new FileReader("C:/Quine.java");        
        BufferedReader br = new BufferedReader(fr);
        String s = "";
        while((s = br.readLine()) != null)
        {
           System.out.println(s);
        }
    }
}

实际上,它工作得很好,生成与输出完全相同的代码。但根据定义,它是否符合 quine 的条件?考虑到我仍然将文件作为参数传递给它。尽管它是程序员指定的而不是用户输入的输入,但它仍然被视为输入吗?

它不被认为是有效的 quine,您必须避免任何 I/O 操作。

打开源代码打印出来是避免第一个外挂!

无论如何它只会打印 class Quine 的代码(不是使其可运行实际需要的源 - 主要方法)。所以,不,它不是蒯因。

A quine is a non-empty computer program which takes no input and produces a copy of its own source code as its only output.