IKVM11
11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
JarModuleReader.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Collections.Generic;
3
using
System.IO;
4
5
using
IKVM.CoreLib.Jar
;
6
7
namespace
IKVM.CoreLib.Modules
8
{
9
13
class
JarModuleReader
:
ModuleReader
14
{
15
16
readonly
string
_file;
17
readonly JarFile _jar;
18
24
public
JarModuleReader
(
string
file, RuntimeVersion runtimeVersion)
25
{
26
_file = file ??
throw
new
ArgumentNullException(nameof(file));
27
_file = Path.GetFullPath(_file);
28
_jar =
new
JarFile(_file, runtimeVersion);
29
}
30
32
public
override
IEnumerable<string>
List
()
33
{
34
foreach
(var i
in
_jar.GetEntries())
35
yield
return
i.Name;
36
}
37
39
public
override
Stream?
Open
(
string
name)
40
{
41
var entry = _jar.GetEntry(name);
42
if
(entry is not
null
)
43
return
entry.Value.Open();
44
45
return
null
;
46
}
47
49
public
override
void
Dispose
()
50
{
51
_jar.Dispose();
52
}
53
54
}
55
56
}
IKVM.CoreLib.Modules.JarModuleReader
A ModuleReader for a modular JAR file.
Definition
JarModuleReader.cs:14
IKVM.CoreLib.Modules.JarModuleReader.Open
override? Stream Open(string name)
Definition
JarModuleReader.cs:39
IKVM.CoreLib.Modules.JarModuleReader.List
override IEnumerable< string > List()
Definition
JarModuleReader.cs:32
IKVM.CoreLib.Modules.JarModuleReader.Dispose
override void Dispose()
Definition
JarModuleReader.cs:49
IKVM.CoreLib.Modules.JarModuleReader.JarModuleReader
JarModuleReader(string file, RuntimeVersion runtimeVersion)
Initializes a new instance.
Definition
JarModuleReader.cs:24
IKVM.CoreLib.Modules.ModuleReader
Provides access to the content of a module.
Definition
ModuleReader.cs:12
IKVM.CoreLib.Jar
Definition
JarFile.cs:10
IKVM.CoreLib.Modules
Definition
ComposableModuleFinder.cs:6
System
Definition
HexConverter.cs:9
src
IKVM.CoreLib
Modules
JarModuleReader.cs
Generated by
1.12.0