質問編集履歴

1

ソースコード変更したため

2018/01/31 13:40

投稿

katliner
katliner

スコア13

test CHANGED
File without changes
test CHANGED
@@ -12,10 +12,36 @@
12
12
 
13
13
  ですができたclassファイルをリフレクションを使用して実行させようとすると
14
14
 
15
- java.lang.ClassFormatError: Incompatible magic value 4022320623 in class file クラス名
15
+ java.lang.ClassFormatError: Unknown constant tag 119 in class file クラス名
16
16
 
17
17
  というエラーが出ます。
18
18
 
19
19
  Stringを経由させるのが行けないのだと思ったのですが、byte[]にreplace関数がないのでどうしたらbyteの置き換えが行なえますか?
20
20
 
21
21
  String.replaceと同じような感じで置き換えがしたいです。
22
+
23
+
24
+
25
+ ```Java
26
+
27
+ InputStream stream = zip.getInputStream(entry);
28
+
29
+ byte[] b = new byte[(int) entry.getSize()];
30
+
31
+ stream.read(b);
32
+
33
+ String a = new String(b,"ISO-8859-1");
34
+
35
+ a = a.replace("cpw/mods/fml/common/network/NetworkMod", "versionsmod/src/cpw/mods/fml/common/network/NetworkMod");
36
+
37
+ zipout.putNextEntry(new ZipEntry(entry.getName()));
38
+
39
+ zipout.write(a.getBytes("ISO-8859-1"));
40
+
41
+ zipout.closeEntry();
42
+
43
+ ```
44
+
45
+ entry・・・ZipEntry
46
+
47
+ zipout・・・ZipOutputStream