c 翻译成java,求大神把C#方法 翻译成JAVA代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

public static byte[] Decode(string strFilePath)

{

List list = new List();

using (FileStream stream = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))

{

byte[] buffer = new byte[0x10];

stream.Seek(0L, SeekOrigin.Begin);

stream.Read(buffer, 0, buffer.Length);

byte[] buffer2 = new byte[0x100];

stream.Read(buffer2, 0, buffer2.Length);

byte[] buffer3 = new byte[4];

stream.Read(buffer3, 0, buffer3.Length);

Array.Reverse(buffer3);

int num = BitConverter.ToInt32(buffer3, 0);

byte[] buffer4 = new byte[4];

stream.Read(buffer4, 0, buffer4.Length);

Array.Reverse(buffer4);

int num2 = BitConverter.ToInt32(buffer4, 0);

byte[] buffer5 = new byte[4];

stream.Read(buffer5, 0, buffer5.Length);

Array.Reverse(buffer5);

int num3 = BitConverter.ToInt32(buffer5, 0);

byte[] buffer6 = new byte[4];

stream.Read(buffer5, 0, buffer5.Length);

byte[] buffer7 = new byte[num];

stream.Read(buffer7, 0, buffer7.Length);

stream.Close();

uint num4 = 0;

uint num5 = 0;

int num6 = 0;

int num7 = 0;

int num8 = 1;

int num9 = 0;

foreach (byte num10 in buffer7)

{

if (list.Count >= num2)

{

goto Label_029E;

}

for (byte i = 0x80; i > 0; i = (byte) (i >> 1))

{

uint num12 = ((num10 & i) > 0) ? 1 : 0;

if (num8 == 1)

{

num4 = num4 << 1;

num6++;

num4 |= num12;

if (num12 == 0)

{

num8 = 2;

}

}

else

{

num5 = num5 << 1;

num7++;

num5 |= num12;

if (num6 == num7)

{

if (list.Count >= num2)

{

break;

}

int index = (int) (num4 + num5);

if (num9 > 0)

{

int num14 = num9 - 0x100;

int num15 = index + 3;

for (int j = 0; j < num15; j++)

{

byte item = list[list.Count - num14];

list.Add(item);

}

num9 = 0;

}

else if (index < 0x100)

{

list.Add(buffer2[index]);

}

else

{

num9 = index;

}

num4 = 0;

num5 = 0;

num6 = 0;

num7 = 0;

num8 = 1;

}

}

}

}

}

Label_029E:

return list.ToArray();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。软件已破解,去除了未注册版最多只能转换1000行的限制,亲测可用!压缩包内含帮助文档,不过由于软件的使用很简单,帮助文档基本可以忽略。(小提示:如无法运行,请确认是否安装了.NET framework) 下面是一些英文介绍: C# to Java Converter features include: 1. Folder conversion: Entire folders of C# code files are converted to Java code files.(文件夹转换) 2. Code snippet and file conversion: Our snippet conversion accuracy is outstanding and does not require you to insert entire methods or classes. Heuristics are used to convert code fragments wit h missing declarations. (代码片段和文件转换) 3. Full support for the latest .NET code syntax: Generics and other newer C# features are converted where possible to the Java equivalent.(全面支持最新版的.NET语法) 4. Conversion options: You can specify numerous conversion options via our Options dialog. Code formatting options, custom type & member replacements, custom string replacements, and miscellaneous options. (可以指定转换规则) 5. File comparison feature: After converting a project or folder, you can compare original and converted files side-by-side. Comparing converted code to original code.(原代码与转换后代码的比较) 6. Running from the command line: C# to Java Converter can be launched directly for a specific project, folder, or file conversion from the command line. Command line.(命令行执行) 其他一些特点: 1. Converts all versions of C# code (2002, 2003, 2005, 2008, and 2010) (可以转换所有版本的C#代码) 2. Evaluates all referenced assemblies and .NET projects in order to resolve external references more completely.(能彻底解决外部引用的dll类库) 3. Converts C# ref parameters using Java generics 4. Superb conversions of all types of arrays 5. Handles the numerous coding alternatives and ambiguities of C# code 6. Flawless conversion of all aspects of inheritance and interfaces 7. Allows custom replacement of strings in the final converted code 8. Accurate even with poorly formatted C# code

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值