第一
import java.io.*;
import java.util.*;
public class MyFile {
public String[] readFiles(String FileName){
String[] names = new String[]{};
String line = null;
try{
FileReader fileReader = new FileReader(FileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
for(int i = 0;(line = bufferedReader.readLine()) != null;i++) {
names[i] = line;
}
bufferedReader.close();
}
catch(IOException ex){
ex.printStackTrace();
}
return names;
}
public static void write(String FileName,String[] names){
try{
FileWriter fileWriter = new FileWriter(FileName);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
for(int i = 0; i<names.length ; i++)
{
bufferedWriter.write(names[i]);
bufferedWriter.newLine();
}
bufferedWriter.close();
}
catch(IOException ex){
ex.printStackTrace();
}
}
public MyFile(){System.out.println("");}
}
第二
public class Book{
public void displayAll(){
String[] bookNames;
String filename = "Books.txt";
bookNames = readFiles(filename);
for(int i=0;i<bookNames.length;i++)
{
System.out.println(""+bookNames[i]);
}
}
}
我是java的初学者,我正在尝试创建一个程序,用于保存和读取txt文件中的书名。 但是我得到了这个错误
Book.java:12: cannot find symbol
symbol: method readFiles(java.lang.String)
location:class com.acme.Book
bookNames = readFiles(filename);
^
我确实尝试过搜索,但我找不到任何答案......顺便说一下,并非所有代码都是由我编写的。
更新了mistkae(readFiles
)
答案 0 :(得分:2)
bookNames = readFile(filename);
您没有readFile()
方法,而是拥有readFiles()
方法。 s 最终缺失。
那应该是
bookNames = readFiles(filename);
答案 1 :(得分:0)
方法名称是复数
readFiles
不是
readFile
答案 2 :(得分:0)
你有
public String[] readFiles(String FileName){}
但你正在打电话
bookNames = readFile(filename); // readFile() ? should be readFiles()
您可以执行以下操作之一来解决此问题
更改
bookNames = readFile(filename);
进入
bookNames = readFiles(filename);
或
更改
public String[] readFiles(String FileName){}
进入
public String[] readFile(String FileName){}
答案 3 :(得分:0)
readFiles
,并且您正在调用方法readFile
readFiles
访问MyFile
时,您的方法Book
已定义,除非Book
是内在的,否则这是不可能的类MyFile
(但这将是糟糕的设计)。