lil*_*oka 2 symbols class file find
我有几次这个问题,我创建了另一个类文件,主类文件找不到它.这是主类文件:
package textfiles;
import java.io.IOException;
public class FileData
{
public static void main(String[] args)
{
String file_name = "Lines.txt";
try {
ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
for(int i =0; i<aryLines.length; i++)
{
System.out.println(aryLines);
}
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是它找不到的类文件:
package textfiles;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
public class ReadFile
{
private String path;
int numberOfLines=0;
public ReadFile(String file_path)
{
path = file_path;
}
public String[] OpenFile() throws IOException
{
FileReader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
int numberOfLines = readLines();
String[] textData = new String[numberOfLines];
for(int i=0; i<numberOfLines; i++)
{
textData[i] = br.readLine();
}
br.close();
return textData;
}
int readLines() throws IOException
{
FileReader file_to_read = new FileReader(path);
BufferedReader bf = new BufferedReader(file_to_read);
String aLine;
while((aLine = bf.readLine()) != null)
{
numberOfLines++;
}
bf.close();
return numberOfLines;
}
}
Run Code Online (Sandbox Code Playgroud)
我试着运行javac的TEXTFILES\ReadFile.java和javac TEXTFILES\FileData.java作为一个建议此.这不起作用.我已经确定我编译了ReadFile并修复了那里的所有错误.我得到的编译器错误是:
C:\Users\Liloka\Source>javac FileData.java
FileData.java:13: cannot find symbol
symbol : class ReadFile
location: class textfiles.FileData
ReadFile file = new ReadFile(file_name);
^
FileData.java:13: cannot find symbol
symbol : class ReadFile
location: class textfiles.FileData
ReadFile file = new ReadFile(file_name);
^
2 errors
Run Code Online (Sandbox Code Playgroud)
我正在使用notepad ++和.cmd,所以它不能是IDE错误.提前致谢!
确保java文件都在textfiles
目录中:
textfiles/FileData.java
textfiles/ReadFile.java
Run Code Online (Sandbox Code Playgroud)
并运行:
javac textfiles/FileData.java textfiles/ReadFile.java
java textfiles.FileData
Run Code Online (Sandbox Code Playgroud)
您的代码无需任何修改即可运行 我认为你是从一个错误的目录编译:
C:\ Users\Liloka\Source> javac FileData.java
移动FileData.java
到textfiles
目录.
您必须编译主类使用的所有 java 文件。由于 FileData 使用 ReadFile,因此您也必须对其进行编译。
你试过吗
javac Filedata.java ReadFile.java
Run Code Online (Sandbox Code Playgroud)
或者
javac *.java
Run Code Online (Sandbox Code Playgroud)
?