herch كتب:لا أدري
كيف تنشئ الملفات jar التي تستعمل؟ باستعمال الأمر jar أم بشيء آخر
-------------
هل الخطأ يظهر دائما أم فقط عند إضافة الملفات jar؟
![]()
![]()
![]()
![]()
انا انشأ ملفات الـ jar باستخدام الـ netbeans
الخطأ ظهر ايضا عن اضافه ملف من النوع text
herch كتب:لا أدري
كيف تنشئ الملفات jar التي تستعمل؟ باستعمال الأمر jar أم بشيء آخر
-------------
هل الخطأ يظهر دائما أم فقط عند إضافة الملفات jar؟
![]()
![]()
![]()
![]()
انا انشأ ملفات الـ jar باستخدام الـ netbeans
الخطأ ظهر ايضا عن اضافه ملف من النوع text
قمت بتجربته في windows xp وهو يعمل بشكل عادي. ربما المشكل في جهازك أو نظامك (seven؟؟)
لو ممكن أحد الإخوة يجرب الكود لنتأكد :wub:
herch كتب:قمت بتجربته في windows xp وهو يعمل بشكل عادي. ربما المشكل في جهازك أو نظامك (seven؟؟)
لو ممكن أحد الإخوة يجرب الكود لنتأكد :wub:
اممم ![]()
![]()
انا شغال على Seven فعلا
هل احد الاخوه لديه seven يجرب عليه الكود
علاء الصالحي كتب:محمود اعطيني الملفات التي تجرب عليها
بالمناسبة هتدفع كام مقابل التجربة :)
تحياتي
هادفع ايه مش دافع حاجه :D
هذه هى الملفات مضغوطه
هتلاقى عند ملف
Crazy Paint Prush.jar
دا عاوز اضيف بداخله
الملف اسمه
Crazy_Paint_Prush_V2.jar
فى المكان التالى
com/jkelany/resouces/
هتلاقى المكان دا بداخل ملف الجار Crazy Paint Prush.jar
والكود اللى انا استخدمه اهووو
بعد ما يتم اضافته المفروض تشغل ملف الجار بعد ما اضيف له الملف الاخر
ولو اكمل التسطيب لديك فان العمل يكون تم بشكل سليم
انما لقدر الله ان كانت الاخرى ( هاشوف حسابى معاك ![]()
)
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
public class EditJarTest {
static void createTempJar(String originalJar, String copyJar) throws FileNotFoundException, IOException {
//Make a teporary copy of the jar file
BufferedInputStream in = new BufferedInputStream(new FileInputStream(originalJar));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(copyJar));
int b;
while ((b = in.read()) != -1) {
out.write(b);
}
in.close();
out.close();
}
static byte[] getContentFileToAdd(String filePath) throws FileNotFoundException, IOException {
//Read the content of the file to add and put it in a byte array
FileInputStream textFileIn = new FileInputStream(filePath);
byte[] data = new byte[textFileIn.available()];
textFileIn.read(data);
textFileIn.close();
return data;
}
public static void main(String[] args) throws FileNotFoundException, IOException {
//The path to the original jar
String jarName = "d:/Crazy Paint Prush.jar";
//The path to the temporary jar
String jarNameTmp = "d:/Crazy Paint Prush.jar.tmp";
createTempJar(jarName, jarNameTmp);
//The path to the file to add
String fileToAdd = "d:/Crazy_Paint_Prush_V2.jar";
byte[] data = getContentFileToAdd(fileToAdd);
//We use the class JarFile to read from the temporary jar file
JarFile jarFile = new JarFile(jarNameTmp);
//We retrieve all the entries (files) in the jar file
Enumeration<JarEntry> entries = jarFile.entries();
//we will use JarOutputStream to create a new jar file
JarOutputStream jarOut = new JarOutputStream(new FileOutputStream(jarName));
//Read each entry in the tmp jar and write it in the original jar,
//because the creation of a new JarOutputStream delete any previous content
while (entries.hasMoreElements()) {
JarEntry entry = entries.nextElement();
if (!entry.isDirectory()) {
byte[] entryData = new byte[(int) entry.getSize()];
jarOut.putNextEntry(entry);
InputStream entryIn = jarFile.getInputStream(entry);
while (entryIn.read(entryData) != -1) {
jarOut.write(entryData);
}
jarOut.closeEntry();
entryIn.close();
}
}
//add the new file to the jar
jarOut.putNextEntry(new JarEntry(new File(fileToAdd).getName()));
jarOut.write(data);
jarOut.closeEntry();
jarOut.close();
new File(jarNameTmp).delete();
}
}هوه أنتا فاكر ايه يا عم أنتا لازم تدفع حاجة
عايزين مقالين حلوين كده وكلام كده مفيد
على كل آدي الكود بتاعي بتاع زمان عدلته علشان يشتغل معاك يا عم
package jar.test;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class JarUtitlity {
public static void main(String[] args) {
try {
File beforeFile = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy Paint Prush.jar");
File file = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy_Paint_Prush_V2.jar");
File afterFile = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy_Paint_Prush_V2final.jar");
JarInputStream jarInputStream = new JarInputStream(
new FileInputStream(beforeFile));
JarOutputStream jarOutputStream = new JarOutputStream(
new FileOutputStream(afterFile));
ZipEntry nextElement = jarInputStream.getNextEntry();
while (nextElement != null) {
System.out.println(nextElement.getName());
jarOutputStream.putNextEntry(nextElement);
int byteOfEntry ;
while((byteOfEntry = jarInputStream.read())!=-1)
jarOutputStream.write(byteOfEntry);
jarOutputStream.closeEntry();
nextElement = jarInputStream.getNextEntry();
}
jarInputStream.close();
ZipEntry entry = new ZipEntry("path\\newPlace");// مسار
// المجلد
// أو
// الملف
jarOutputStream.putNextEntry(entry);
FileInputStream fileInputStream=new FileInputStream(file);
int character;
while((character=fileInputStream.read())!=-1){
jarOutputStream.write(character);// إذا كنا نتكلم عن ملف المعلموات المراد
// كتابتها في الملف
}
jarOutputStream.closeEntry();
jarOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}تحياتي
علاء الصالحي كتب:هوه أنتا فاكر ايه يا عم أنتا لازم تدفع حاجة
عايزين مقالين حلوين كده وكلام كده مفيد
على كل آدي الكود بتاعي بتاع زمان عدلته علشان يشتغل معاك يا عم
ما انا دفعت لك برنامجين اهووو :D
المقالات دى مش وقتها علشان الامتحانات بس
انما ان شاء الله حاضر من عنيا تحت امرك
هاشوف الكود ان شاء الله :)
وارد عليك تانى
لا يا عم برنامج فيه عربي والثاني ما فيهوش عربي
يبقى احنا كده خالصين :)
يبقى المقالات مقالات وإلا وأنتا عارف وإلا بتعمل ايه :lol:
تحياتي
علاء الصالحي كتب:لا يا عم برنامج فيه عربي والثاني ما فيهوش عربي
يبقى احنا كده خالصين :)
يبقى المقالات مقالات وإلا وأنتا عارف وإلا بتعمل ايه :lol:
تحياتي
ما انا قولت لك هاعرب لك البرنامج التانى متزعلش ياعم
طب شوف يا عم الخطأ دا
اللى انا غيرته فالكود بتاعك
مسار الملفات بس
File beforeFile = new File(
"d:/Crazy Paint Prush.jar");
File file = new File(
"d:/Crazy_Paint_Prush_V2.jar");
File afterFile = new File(
"d:/Crazy_Paint_Prush_V2final.jar");كده أنا عايز موضوعين كمان
الأخ jar file يتعامل بطريقة غريبة
يستثني مجلد META-INF من الموضوع
المهم عليك ان تكتبه بيدك أو تنتقل إلى Zip
على كل قمت بتحويل البرنامج إلى Zip
لو أردت استخدامه
package jar.test;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class JarUtitlity {
public static void main(String[] args) {
try {
File beforeFile = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy Paint Prush.jar");
File file = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy_Paint_Prush_V2.jar");
File afterFile = new File(
"E:\\project\\test2\\src\\jar\\test\\Crazy_Paint_Prush_V2final.jar");
ZipInputStream jarInputStream = new ZipInputStream(
new FileInputStream(beforeFile));
ZipOutputStream jarOutputStream = new ZipOutputStream(
new FileOutputStream(afterFile));
ZipEntry nextElement = jarInputStream.getNextEntry();
while (nextElement != null) {
System.out.println(nextElement.getName());
jarOutputStream.putNextEntry(nextElement);
int byteOfEntry ;
while((byteOfEntry = jarInputStream.read())!=-1)
jarOutputStream.write(byteOfEntry);
jarOutputStream.closeEntry();
nextElement = jarInputStream.getNextEntry();
}
jarInputStream.close();
ZipEntry entry = new ZipEntry("path\\newPlace");// مسار
// المجلد
// أو
// الملف
jarOutputStream.putNextEntry(entry);
FileInputStream fileInputStream=new FileInputStream(file);
int character;
while((character=fileInputStream.read())!=-1){
jarOutputStream.write(character);// إذا كنا نتكلم عن ملف المعلموات المراد
// كتابتها في الملف
}
jarOutputStream.closeEntry();
jarOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}تحياتي
علاء الصالحي كتب:كده أنا عايز موضوعين كمان
الأخ jar file يتعامل بطريقة غريبة
يستثني مجلد META-INF من الموضوع
المهم عليك ان تكتبه بيدك أو تنتقل إلى Zip
على كل قمت بتحويل البرنامج إلى Zip
لو أردت استخدامه
تحياتي
ما انا لاحظت كدا :)
بجد بجد مش عارف اقولك ايه ![]()
![]()
![]()
علاء الصالحي كتب:تقولي ليك عليه أربع مواضيع :)
تحياتي
كانوا اتنين دلوقتى اربعه ؟؟
دا انت صعب خالص ![]()
![]()
علاء الصالحي كتب:ما هو أنتا غلبتني يا عم محمود
وأنا بحب آخد حقي مواضيع :)
تحياتي
ما هو انا غلبتك يعنى تفوقت عليك هههههههههههه
وليس غلبتك يعنى حيرتك واتعبتك
شوفت التلاعب بالالفاظ ههههه :D
وانا بحب اخد حقى ناشف ![]()