Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Jung中使用GraphMLReader2?_Java_Jung - Fatal编程技术网

Java 如何在Jung中使用GraphMLReader2?

Java 如何在Jung中使用GraphMLReader2?,java,jung,Java,Jung,我想使用GraphMLReader类从带有JUNG2.0的graphML中读取无向图 代码如下: import edu.uci.ics.jung.io.*; import edu.uci.ics.jung.io.graphml.*; import java.io.*; import java.util.*; import org.apache.commons.collections15.Transformer; import edu.uci.ics.jung.graph.*; class Ve

我想使用GraphMLReader类从带有JUNG2.0的graphML中读取无向图

代码如下:

import edu.uci.ics.jung.io.*;
import edu.uci.ics.jung.io.graphml.*;
import java.io.*;
import java.util.*;
import org.apache.commons.collections15.Transformer;
import edu.uci.ics.jung.graph.*;

class Vertex{
        int id;
        String type;
        String value;
}

class Edge{
        int id ;
        String type;
        String value;
}

public class Loader{
        static String src = "test.xsl";

        public static void  Main( String[] args){
                Reader reader = new FileReader(src );
                Transformer<NodeMetadata, Vertex> vtrans = new Transformer<NodeMetadata,Vertex>(){
                        public Vertex transform(NodeMetadata nmd ){
                                Vertex v = new Vertex() ;
                                v.type = nmd.getProperty("type");
                                v.value = nmd.getProperty("value");
                                v.id = Integer.valueOf( nmd.getId() );
                                return v;
                        }
                };
                Transformer<EdgeMetadata, Edge> etrans = new Transformer<EdgeMetadata,Edge>(){
                        public Edge transform( EdgeMetadata emd ){
                                Edge e = new Edge() ;
                                e.type = emd.getProperty("type");
                                e.value = emd.getProperty("value");
                                e.id = Integer.valueOf( emd.getId() );
                                return e;
                        }
                };
                Transformer<HyperEdgeMetadata, Edge> hetrans = new Transformer<HyperEdgeMetadata,Edge>(){

                        public Edge transform( HyperEdgeMetadata emd ){
                                Edge e = new Edge() ;
                                e.type = emd.getProperty("type");
                                e.value = emd.getProperty("value");
                                e.id = Integer.valueOf( emd.getId() );
                                return e;
                        }
                };
                Transformer< GraphMetadata , UndirectedSparseGraph> gtrans = new Transformer<GraphMetadata,UndirectedSparseGraph>(){
                        public UndirectedSparseGraph<Vertex,Edge> transform( GraphMetadata gmd ){
                                return new UndirectedSparseGraph<Vertex,Edge>();
                        }
                };



                GraphMLReader2< UndirectedSparseGraph<Vertex,Edge> , Vertex , Edge> gmlr =
                        new GraphMLReader2< UndirectedSparseGraph<Vertex,Edge> ,Vertex, Edge>(
                                        reader,
                                        gtrans,
                                        vtrans,
                                        etrans,
                                        hetrans);
                UndirectedSparseGraph<Vertex,Edge> g = gmlr.readGraph();

                return ;

        }
}
但是,编译器警告:

    Loader.java:60: cannot find symbol
symbol  : constructor GraphMLReader2(java.io.Reader,org.apache.commons.collections15.Transformer<edu.uci.ics.jung.io.graphml.GraphMetadata,edu.uci.ics.jung.graph.UndirectedSparseGraph>,org.apache.commons.collections15.Transformer<edu.uci.ics.jung.io.graphml.NodeMetadata,Vertex>,org.apache.commons.collections15.Transformer<edu.uci.ics.jung.io.graphml.EdgeMetadata,Edge>)
location: class edu.uci.ics.jung.io.graphml.GraphMLReader2<edu.uci.ics.jung.graph.UndirectedSparseGraph<Vertex,Edge>,Vertex,Edge>
   new GraphMLReader2< UndirectedSparseGraph<Vertex,Edge> ,Vertex, Edge>(
   ^
1 error

我怎样才能解决这个问题?谢谢。

在图形转换器声明中,还需要在尖括号中包含顶点和边类型。像这样:

Transformer< GraphMetadata , UndirectedSparseGraph<Vertex, Edge> > gtrans