Не удается найти символ для другого файла класса - PullRequest
2 голосов
/ 10 сентября 2011

У меня была эта проблема несколько раз, когда я создал другой файл класса, а основной файл класса не может его найти. Вот файл основного класса:

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());
    }
}
  }

Вот файл класса, который он не может найти:

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;
}
  }

Я попытался запустить javac textfiles \ ReadFile.java и javac textfiles \ FileData.java в качестве предложения для this . Это не работает Я удостоверился, что скомпилировал 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

Я использую notepad ++ и .cmd, так что это не может быть ошибкой IDE. Заранее спасибо!

Ответы [ 2 ]

9 голосов
/ 10 сентября 2011

Убедитесь, что все java-файлы находятся в каталоге textfiles:

textfiles/FileData.java
textfiles/ReadFile.java

И запустить:

javac textfiles/FileData.java textfiles/ReadFile.java 
java textfiles.FileData

Ваш код работает без каких-либо изменений. Я думаю, что вы компилируете из неправильного каталога:

C: \ Users \ Liloka \ Source> javac FileData.java

Переместите FileData.java в каталог textfiles.

4 голосов
/ 10 сентября 2011

Вы должны скомпилировать все java-файлы, используемые вашим основным классом. Поскольку ReadFile используется FileData, вы должны также скомпилировать его.

Вы пробовали

javac Filedata.java ReadFile.java

или

javac *.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...