【问题标题】:Cannot find symbol" error:找不到符号”错误:
【发布时间】:2015-07-02 09:04:22
【问题描述】:

我是 Java 新手。

我正在使用网络教程中的一些代码。

它不完整。目前我收到错误“找不到某些变量的符号,但这些变量之前已声明过。

例如 bf 和 file_to_read 已被声明。

谁能给点建议?

package cyproperty;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;


public class ReadFile 
   {
    private String path;

    public ReadFile(String file_path)
    {
        path= file_path;
   }

    public String[] OpenFile() throws IOException
    {
        FileReader fr = new FileReader(path);
        BufferedReader textReader = new BufferedReader(fr);

        int numberOfLines = 3;
        String[] textData = new String[numberOfLines];

        int i;

        for (i=0; i <numberOfLines; i++)
            {

                textData[i] = textReader.readLine();
            }
        textReader.close();

        return textData;
      }

    int readLines() throws IOException 

        (

        FileReader file_to_read = new FileReader(path);
        BufferedReader bf = new BufferedReader(file_to_read);

        String aLine;
        int numberOfLines = 0;

        while ((aLine = bf.readline()) !=null)
        {
            numberOfLines++;
        }

        bf.close();

        return numberOfLines;

【问题讨论】:

  • readLines 方法的开头使用 ( 而不是 { 并没有帮助......我还建议你让你的 IDE 格式化你的代码 - 它会让它更清晰,也能突出问题......
  • 该代码实际上包含拼写错误,甚至没有匹配的括号。尝试下载一个好的 IDE(例如 Eclipse、Netbeans 或 IntelliJ)并将您的代码放在那里,它们会为您突出显示代码编译错误。

标签: java file bufferedreader


【解决方案1】:

你有一些错误:

您的课程未正确完成(最后插入 })。
bf.readline() 不存在其 bf.readLine()(大写 L)。
您的方法 readlines 以 ( 开头而不是{

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile  {
    private String path;

    public ReadFile (String file_path) {
        path = file_path;
    }

    public String[] OpenFile() throws IOException {
        FileReader fr = new FileReader(path);
        BufferedReader textReader = new BufferedReader(fr);

        int numberOfLines = 3;
        String[] textData = new String[numberOfLines];

        int i;

        for (i = 0; i < numberOfLines; i++) {

            textData[i] = textReader.readLine();
        }
        textReader.close();

        return textData;
    }

    int readLines() throws IOException {
        FileReader file_to_read = new FileReader(path);
        BufferedReader bf = new BufferedReader(file_to_read);

        String aLine;
        int numberOfLines = 0;

        while ((aLine = bf.readLine()) != null) {
            numberOfLines++;
        }

        bf.close();

        return numberOfLines;
    }
}

【讨论】:

    【解决方案2】:

    你有几个错误:

    int readLines() throws IOException 
    { // was (
        FileReader file_to_read = new FileReader(path);
        BufferedReader bf = new BufferedReader(file_to_read);
    
        String aLine;
        int numberOfLines = 0;
    
        while ((aLine = bf.readLine()) !=null){ // was readline
            numberOfLines++;
        }
    
        bf.close();
    
        return numberOfLines;
    } // was missing
    

    【讨论】:

      【解决方案3】:

      你可以试试这个,:)

      package cyproperty;
      
      import java.io.IOException;
      import java.io.FileReader;
      import java.io.BufferedReader;
      
      public class ReadFile {
      
          private String path;
      
          public ReadFile(String file_path) {
              this.path = file_path;
          }
      
          public String[] OpenFile() throws IOException {
              FileReader fr = new FileReader(path);
              BufferedReader textReader = new BufferedReader(fr);
      
              int numberOfLines = 3;
              String[] textData = new String[numberOfLines];
      
              for (int i = 0; i < numberOfLines; i++) {
                  textData[i] = textReader.readLine();
              }
              textReader.close();
      
              return textData;
          }
      
          int readLines() throws IOException {
      
              FileReader file_to_read = new FileReader(path);
              BufferedReader bf = new BufferedReader(file_to_read);
      
              String aLine;
              int numberOfLines = 0;
      
              while ((aLine = bf.readline()) != null) {
                  numberOfLines++;
              }
      
              bf.close();
      
              return numberOfLines;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2012-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-07
        • 2015-05-12
        相关资源
        最近更新 更多