public fillVal(File s) throws FileNotFoundException{
Scanner kb = new Scanner(s);
while(kb.hasNextDouble()){
//etc...
}
所以说我的文件名是“file1.txt”。当我输入那个文本(“file1.txt”)int BlueJ的“创建对象选项卡”时,我会得到一些说不兼容类型的东西。我在课程文件中有txt文件。这不是一种有效的方式来接收文件并从中获取值吗?如果这是错误的,请告诉我。感谢
答案 0 :(得分:0)
看起来需要一个文件对象?
new java.io.File("file1.txt")
答案 1 :(得分:0)
当您将对象作为参数时,您需要传入该对象的实例。
由于您要做的只是传入文件名,因此您的签名不正确;将其更改为接受String
。
public void fillVal(String fileName) {
try {
Scanner kb = new Scanner(new File(fileName));
while(kb.hasNextDouble()) {
// code
}
} catch(FileNotFoundException e) {
System.out.println("Invalid filename!");
e.printStackTrace();
}
}
哦,不要忘记返回类型。由于它看起来就像你正在对结果做任何事情一样,你可以声明它返回void
。
答案 2 :(得分:0)
考虑以下方法:
public void fillVal(File s) throws FileNotFoundException {
Scanner kb = new Scanner(s);
while (kb.hasNextDouble()){
System.out.println("The next double is: " + kb.nextDouble());
}
}
您可以通过创建包含fillVal(File)方法的类的实例,并通过以下方式调用它来从某个main方法调用它:
public static void main(String[] args)
{
. . .
try {
[name of instance].fillVal(new File("README.txt"));
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
这假定文件README.txt位于BlueJ项目的根目录中。这也是放置类文件的地方。
文件 public File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。如果给定的字符串是空字符串,则结果是空的抽象路径名。
参数: pathname - 路径名字符串
抛出: NullPointerException - 如果pathname参数为null