将BufferedReader应用于Java类的构造函数时遇到问题

时间:2016-09-19 13:35:04

标签: java android gps bufferedreader

我一直在研究需要GPS坐标的Android应用程序,并使用2d数组来保存[0] [0]和[1024] [512]之间的坐标。到目前为止,我有main_activity创建BufferedReader,然后通过我创建的CoordinatesHandler类传递它,它将过滤文本文件并拆分文本坐标并将它们存储为2d数组中的整数。虽然我无法通过构造函数传递BufferedReader。谢谢你的帮助。

这里是CoordinatesHandler类;

public class CoordinatesHandler{
    Integer[][] CoordinatesValue = new Integer[1024][512];

    public void CoordinatesHandler(BufferedReader reader){
        String line;

        while(true){
            int y= 0;
            try {
                line = reader.readLine();
                line.trim();
                String splitCords[] = line.split("\\s+");
                if (!line.contains("#") && line != null) {
                    for (int x = 0; x <= 1024; x++) {
                        CoordinatesValue[x][y] = Integer.parseInt(splitCords[x]);
                        Log.d(Integer.toString(x),Integer.toString(y));
                    }
                }else{break;}
            }catch(IOException e){Log.d("error", "IO Exception");}
            y++;
        }

    }
}

以下是我在main_activity中实现它的部分, note(readIt方法是提供给Android开发人员的多种方法之一,用于从网上下载和读取文本文件)

public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
        BufferedReader reader = null;
        reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));

        new CoordinatesHandler(reader);

        return "hello";
    }

问题是编译器不喜欢“new CoordinatesHandler(reader)”

1 个答案:

答案 0 :(得分:1)

构造函数不应该有返回类型。删除返回类型&#34; void&#34;来自构造函数并编译。