java 如何通过构造函数传递变量

how to pass a variable through a constructor in java

我想将一个变量作为参数传递给下面的字符串文件名变量。谁能帮忙??我上网查了一下,但找不到好的教程或示例。 提前谢谢你...

import java.io.IOException;

public class JavaReadTextFile
{
    public static String main(String[] args)
    {
        // This instantiates from another class 
        ReadFile rf = new ReadFile();

        // The text file location of your choice.
        // Here I want to pass a variable as a parameter to the variable filename
        String filename = "";

        try
        {
            String[] lines = rf.readLines(filename);

            for (String line : lines)
            {
                //System.out.println(line);
                return line;
            }
        }
        catch(IOException e)
        {
            // Print out the exception that occurred
            System.out.println("Unable to create " + filename + ": " + e.getMessage());
        }
    }
}  

如果您愿意使用 swing ,那么您可以探索 JOptionPane mesageBox ,它可以接受输入。

否则,在 运行 程序从 args 数组读取参数的常规方法。

您没有post构造函数,但您可以获得主函数的(命令行)参数:

public static String main(String[] args) {
    if (args!=null && args.length > 0) {
         String filename = args[0];
    }
}

将您的代码更改为

String filename = args[0];

现在您可以将文件名作为程序参数传递。

我假设你的意思是 "as an argument to my program",这样你就可以 运行:

java -jar myProgram.java theStringIWantToPass

如果是这样,那就是 main(String[] args) 的目的。所有参数都将放在那里。因此,请尝试使用以下内容:

if (args.length > 0){
    filename = args[0];
}