prefuse正常的数据源需要从ConnectionFactory中生产出来,但是如果平时不想用里面给的方法得到数据,就需要手动创造Graph里面所需要的内容两个Table

下面是我自己写的从文件中读入数据的工具类

package wjl.util;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;import prefuse.data.Table;public class PreTable {public static Table filemake(String path){FileInputStream in = null;Scanner cin = null;Table nodes = new Table();try {in = new FileInputStream(path);cin = new Scanner(in);String fieldname[] = cin.nextLine().split("\t");for(String name:fieldname){if(!name.contains("id"))nodes.addColumn(name, String.class);elsenodes.addColumn(name, int.class);}while(cin.hasNext()){int row = nodes.addRow();String data[] = cin.nextLine().split("\t");for(int i=0;i<fieldname.length;i++){if(fieldname[i].contains("id"))nodes.setInt(row, i, Integer.parseInt(data[i]));elsenodes.set(row, i, data[i]);}}} catch (FileNotFoundException e) {e.printStackTrace();}finally{if(null != in){try {in.close();} catch (IOException e) {e.printStackTrace();}}if(null != cin){cin.close();}}return nodes;}
}

  上面的需要注意几点1.由于之后创建图的时候需要指定从edges的哪个指向哪个,所以要求nodes中的被指定的主建只能是int,edges中两个顶点u,v也只能是int,所以我在我的算法里规定如果一个域的名字中存在id则类型设置成int,否则统一变成String。

转载于:https://www.cnblogs.com/MengYan-LongYou/p/3163592.html

prefuse学习(一)用非数据库连接和xml的方式读入数据相关推荐

  1. OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作

    OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...

  2. Spring框架学习(四):聊一聊xml配置和Java配置

    之前的例子在演示过程中直接使用了xml的配置方式,对于刚刚接触Spring的同学来说肯定也是蒙圈的.这篇我们就从配置开始聊起. 在开发过程中,程序员通常使用这两种方式进行Spring的配置: 基于XM ...

  3. 转:领导变革,要减少“学习焦虑”而非增加“生存威胁”

    个人理解: 学习焦虑:即使感到生存焦虑,人们也会试图拒绝和平抑这种焦虑,因为人们会认识到感知.思考.感觉和行为的新方式可能难以习得 放弃一些旧的习惯和思维方式,学习一些新的习惯和思维方式 增加学习者的 ...

  4. 《Windows网络编程案例教程》-董相志 学习记录 阻塞/非阻塞套接字编程

    <Windows网络编程案例教程>-董相志 学习记录 阻塞/非阻塞套接字编程 2.3 阻塞/非阻塞套接字编程 阻塞套接字编程通信流程图 2.3.1 阻塞套接字客户机编程 1.启动并初始化W ...

  5. Spring框架学习笔记09:基于XML配置方式搭建SSM框架实现用户登录

    文章目录 一.采用MVC架构 二.用户登录运行效果 三.基于XML配置方式搭建SSM框架实现用户登录 (一)创建数据库与表 - simonshop (t_user) 1.创建数据库 - simonsh ...

  6. 学习笔记之51单片机键盘篇(非编码键盘与编码键盘、非编码键盘的扫描方式、独立键盘、矩阵键盘)

    这篇博文主要记录51单片机键盘篇(非编码键盘与编码键盘.非编码键盘的扫描方式.独立键盘.矩阵键盘.键盘消抖等)包含原理图.代码等 (一)基础补充 1.键盘的任务 2.键盘的识别 3.如何消除按键的抖动 ...

  7. Spring Boot 2.x基础教程:使用MyBatis的XML配置方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...

  8. SSM框架笔记06:初探Spring——采用XML配置方式

    初探Spring--采用XML配置方式   Spring框架是一个轻量级的企业级开发的一站式解决方案.所谓解决方案就是可以基于Spring解决Java EE开发的所有问题.Spring框架主要提供了I ...

  9. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

最新文章

  1. 通往安全自动驾驶汽车的艰难道路
  2. 融资3000万,腾讯大佬随手开发的工具到底有多牛?
  3. 乐观锁和悲观锁,可重入锁和不可重入锁(1)
  4. Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVP
  5. 超全!Python获取某一日期是“星期几”的6种方法!
  6. python购物车模块
  7. Amount Format in SAP Fiori Opportunity
  8. python123第三周测验答案_python123 测验3: 基本数据类型 (第3周)
  9. php开发api数据加密,php-app开发接口加密
  10. css-适配布局类型-流式布局-响应式布局
  11. 限制本机访问某一些网站,本人不再花时间看新闻了
  12. 网络地址转换 NAT
  13. facade(外观)模式
  14. excel有多行不同内容需要向下填充
  15. 安装 VS2010 中文旗舰版
  16. 教你一招如何快速生成微信小程序
  17. CH(NH2)2PbBr3(FAPbBr3) 甲脒溴基钙钛矿 1008105-17-6
  18. 作为产品经理,为什么我要选择NPDP?
  19. ag-grid 表格数据更新
  20. 宅家一个月,新书的素材整得差不多了

热门文章

  1. java面试题三_最全的java面试题目三
  2. mysql多表 性能_Mysql 多表联合查询效率分析及优化
  3. c语言指针用法有哪些
  4. 26条C++的经典语录,哪几句戳中你的心!
  5. android 5.0新增 ui 控件,android3.0新增ui控件示例说明.doc
  6. openfire消息通知推送_微信小游戏内测「订阅消息」能力,这是召回用户的「大杀器」吗?...
  7. 查看mysql用户权限_mysql 如何查看该数据库用户具有哪些权限?
  8. 避免常见的6种HTML5错误用法,如何避免常见的6种HTML5错误用法
  9. mysql数据库java链接,java链接MySQL数据库方法
  10. [渝粤教育] 西南科技大学 建筑制图 在线考试复习资料(1)