Calling C# dll from Java

本文关键字:Java from dll Calling | 更新日期: 2023-09-27 18:36:50

我是一名Java开发人员。但是,出于某种原因,我必须借助 C# 来完成我的任务。我在下面提到了用于创建DLL的C#代码。必须在我的Java程序中使用该DLL来完成必要的工作。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
namespace Yrl.Tracingtool
{
public class DocxUtil
{
    public Application Jump(string fileName)
    {
        object fileNameAsObject = (object)fileName;
        Application wordApplication;
        try
        {
            wordApplication = new Application();
            object readnly = false;
            object missing = System.Reflection.Missing.Value;
            wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readnly, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing);
            object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
            object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
            object count = 3;
            wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);
            return wordApplication;
        }
        catch (Exception ex)
        {
            //LogEntry log = new LogEntry();
            //log.Categories.Add("Trace");
            //log.Message = ex.ToString();
            //Logger.Write(log, "Trace");
            throw new System.IO.FileLoadException("File cannot be opened");
        }
        finally
        {
            wordApplication = null;
        }
    }
}
}

我也检查了这个论坛和其他论坛,但大多数论坛都在谈论在 JNI 调用中使用 C++ 或 C DLL 文件。如果有人知道从Java调用C# DLL,请告诉我。

Calling C# dll from Java

我们使用 ICE 在 .NET 和 Java 应用程序之间进行通信。这不是您所需要的,但可能会有所帮助。

另外,我建议谷歌搜索".NET Java bridge" - 有几个框架(jni4net,JNBridge等)

你可能

必须使用JNI。

JNI是Java Native Interface的首字母缩写。使用 JNI,我们可以从 Java 调用用其他语言编写的函数

看看下面

http://www.codeproject.com/Articles/2876/JNI-Basics-1