我编辑此代码,因为我不能永久删除它。我编辑了这段代码,因为我不能永久删除它。我编辑了这段代码,因为我不能永久删除它。我编辑的代码,因为我不能永久删除 。我编辑的代码,因为我不能删除它永久这个标题已被编辑
请不要重新编辑
我编辑此代码,因为我不能永久删除它。我编辑了这段代码,因为我不能永久删除它。我编辑了这段代码,因为我不能永久删除它。我编辑的代码,因为我不能永久删除 。我编辑的代码,因为我不能删除它永久这个标题已被编辑
请不要重新编辑
你应该从创建文件的加载分离成图的图。
事情是这样的:
public interface GraphLoader {
/**
* Fill a graph with no property from a single file.
*
* @param graph the graph to fill
* @param path path to graph file
* @return a graph with no property
*/
public static void loadSingleFile(Graph graph, Path path) {
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(path.toFile()))) {
String line;
while ((line = bufferedReader.readLine()) != null) {
String[] vertices = line.split(" ");
if (vertices.length < 2) {
continue;
}
graph.addEdge(Integer.parseInt(vertices[0]), Integer.parseInt(vertices[1]));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* load a graph with no property from a single file.
*
* @param path path to graph file
* @return a graph with no property
*/
public static Graph loadSingleFile(Path path) {
Graph graph = new Graph();
loadSingleFile(graph, path);
return graph;
}
/**
* load a graph with no property from multiple files in parallel.
*
* @param paths paths to graph files
* @return a graph with no property
*/
static Graph loadMultipleFiles(Path[] paths) {
Graph graph = new Graph();
for (Path path : paths) {
loadSingleFile(graph, path);
}
return graph;
}
}
非常感谢你的回答,这是非常有帮助的,我希望我可以让你的联系方式问你更多的问题,如果这不是太多问 – questionner
@benimane - 对不起 - 没有个人接触SO - 只是发表另一个问题和有人会帮忙。 – OldCurmudgeon
我发布了另一个问题,我很感激你是否可以帮助我“http://stackoverflow.com/questions/41220825/similar-methods-with-a-slight-difference-can-i-merge-java#” – questionner
使用 “尝试用资源”。在等级秩序 Advantages of exceptions by Oracle
鸿沟 “catch” 块?这是一个建筑理念吗?
线索:看看这两种方法有什么共同的代码,将这些代码提取到一个新的方法并从两种方法中调用它。 – radoh