惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
J
Java Code Geeks
雷峰网
雷峰网
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
V
Vulnerabilities – Threatpost
S
Securelist
The Hacker News
The Hacker News
The Register - Security
The Register - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
AI
AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Hacker News: Front Page
博客园 - 司徒正美
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
U
Unit 42
V
V2EX
V2EX - 技术
V2EX - 技术
L
LINUX DO - 最新话题
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
美团技术团队
小众软件
小众软件
F
Fortinet All Blogs

博客园 - 团团ta爸

SQLSERVER吞噬内存解决记录 ASP.NET MVC 自定义路由中几个需要注意的小细节 新书出炉了,《asp.net4+jQuery 构建信息门户网站》,全程录屏,谢谢支持! HTML+CSS+Javascript教学视频【0409更新】 jQuery递归遍历JSON树,生成对应的ul-li组合,形成树形菜单 解决MSSQL全文检索不支持office2007,2010中docx等格式的问题 不写东西的这几年 4月27日顶尖Windows内核技术大师David A. Solomon与您相约上海 上海.NET俱乐部10月份活动 关于企业软件资质申请流程以及时间规划(二)——软件登记测试 使用Rose2003进行数据库建模并导入SQLServer2000的图解详细过程 关于企业软件资质申请流程以及时间规划(一)——软件著作权申请 写了个小程序,方便大家编程(QuickDog,快捷键帮手) C++20周年大庆摘记 使用Hook(钩子)阻止Flash启动浏览器打开URL 2005年8月13日 上海.NET俱乐部第一次活动纪实 已经发布,资料提供下载 你为什么不用Flash做程序的表示层呢? 用于Blog的天气预报服务-改进2005-08-06 工作一周年祭
在VS.NET2005中使用java代码段以及SOL文件格式的解析
团团ta爸 · 2005-12-07 · via 博客园 - 团团ta爸

VS.NET2005中使用java代码段
以及SOL文件格式的解析

贺星河 2005-11-16

你是一个.net程序员,不熟悉java,突然拿到一段Java代码,你怎么办?你甚至什么java程序都没有写过,现在要把这段java代码用到.net中来,怎么办呢?

方法不外乎这几个:

1、学习java,用C#重写一遍,语法差不多,应该可以搞定

2、使用J#,java代码导入进来,做相关改动即可

3、将java类库(jar)转化成.net的类库(dll);比如IKVM项目

相关方法:

http://www.cnblogs.com/xiaotie/archive/2005/10/10/251724.aspx

其实到了VS.NET2005里面,我觉得大家可以试试第二种方法:

如果你有时间,那么第一种方法当然是最好不过的了,不管是对你的知识结构还是javaC#的了解都会加深很多,但是很多时候,因为可能项目紧张,你没时间重写一遍代码;这种时候你可以用第三种办法,但是实际情况你只是需要一段或者几段java代码,第三种方法就行不通了,所以我觉得第二种方法相对来说还是比较灵活的

我这里只一个举例子来说明在VS.NET2005中怎么在C#中使用一段java代码,供大家参考

写过Flash程序的大概都知道后缀为.sol的一种文件格式,这是flash用于在本地存储日志记录的;我们google一下,发现没有用.net写好的项目,但是有java的,http://sourceforge.net/projects/solve/ ;大家可以到 这里 下载相应的java源代码,然后解压来看可以看到这个软件的windows界面如下图:

图一、java版的SolVE界面

现在我们并不需要这个项目的gui,只是需要解析的一些文件格式代码,从solve-v0.2-src文件夹中我们可以看到,真正需要的是datatypes/fileformat/ 下面的几个相关类

图二、java代码的文件结构

我们使用eclipse查看一下相关的类,可以知道还需要/util/目录下的几个类

现在我们用VS2005新建一个C#Application项目和J#组件项目SolFileAccesser,将相关的几个类拷贝到项目下,并把.java的后名改为.jsl,这样vs就可以识别了

如下图

图三、将文件导入VS.NET

我们要在C# App中调用这个组件,并实现相应的解析功能

这个时候我们需要Add reference ,选择项目SolFileAccesser,并选择添加.net中的组件vjslib,这样就可以使用java中的一些类和方法了,如下图

图四、建立相应的C#程序调用这个组件

具体的怎么调用方法,我这里只将一个,其他都很类似:

比如现在我们要得到从LogInfo.sol文件里面读取到的Object,首先是要用

SolFileAccesser.DataTypes.Object flashObject =

            SolFileAccesser.FileFormat.TCSOFileReader.read(filePath);

SolFileAccesser.DataTypes.Object类的结构可以得知,flashObject.data是一个typejava.util.ArrayList的值这时因为我们已经引用了vjslib组件,就可以直接在C#中使用以下命令

java.util.ArrayList dataList = flashObject.data;

来获取data的值并进行遍历和解析,最后C#中程序的效果如下

图五、C#程序实现的界面

附源代码:FlashSolFile.rar 我的dotnet2.0版本为 2.0.50727,请注意