遇到了这个代码&我想知道为什么需要这种静态辅助方法?

时间:2014-05-08 02:29:10

标签: java file-io filereader helpermethods

我没有写这段代码,所有功劳都归功于托管链接的人。所以这里是代码的链接,编写它的人也列在github上...链接 -Github SourceCode-

以下是方法预览:(见下面的课程)

//helper method
public static List readFile(String filePath) throws IOException {
    return new TextFileReader(filePath).readFile();
}

等一下,我想我现在可以得到它,只是有人可以调用readFile()方法而不依赖于这个对象,或者我错了吗?

这里是git项目的链接,如果有人想要一个较低级别的项目视图。 我一直在寻找,我只看到帮助方法分解更大的任务,这是我对它们的初步了解。 但是,我在github上,发现了这个:(从页面底部开始的方法,以便于查看,但也在类代码中。另外这里是一个git的链接,如果有人想要更好看...感谢您的任何回复或编辑 看起来很正常,直到页面底部的静态帮助方法

public class TextFileReader implements FileReaderStrategy<String> {

private static final FileType FILE_TYPE = FileType.TEXT_FILE;
private String filePath;

public TextFileReader(String filePath) {
    this.filePath = filePath;
}

@Override
public List<String> readFile() throws IOException {
    List lines = new ArrayList();
    BufferedReader in = null;
    try {
        in = new BufferedReader(
                new FileReader(filePath));
        String line = in.readLine();
        while (line != null) {
            lines.add(line);
            line = in.readLine();
        }
    } catch(IOException ioe){
        throw ioe;
    }finally{
        if(in != null){
            in.close();
        }
    }

    return lines;
}

//helper method
public static List readFile(String filePath) throws IOException {
    return new TextFileReader(filePath).readFile();
}

}

1 个答案:

答案 0 :(得分:1)

你是对的。虽然我会这样说,但是这个方法可以在Class而不是在类的对象或实例上调用。

例如,可以像这样调用静态方法:

TextFileReader.readFile(<filepath>);

无需先创建类的实例。