PDA

View Full Version : گرفتن خروجی exe به همراه تمام فایل های اضافی



png_92
دوشنبه 21 اسفند 1396, 11:27 صبح
سلام
چطور میشه فایل jar رو طوری به exe تبدیل کرد که اگر فایل عکس یا صدایی در برنامه وجود دارد، فایل exe بدون نیاز به وجود آن فایل ها اجرا شود؟ یا فایل های صوتی باید در کدام فولدر در نت بینز باشند؟ مسیر و آدرس دهی فایل ها چگونه است؟

من از کد زیر برای پخش فایل ها استفاده میکنم ولی لازمه این کد اینست که فایل ها در همان جایی که فایل exe اجرا میشود وجود داشته باشند.


public static void main(String[] args) throws FileNotFoundException, IOException {
InputStream in = new FileInputStream("Voice.wav");
AudioStream audioStream = new AudioStream(in);
AudioPlayer.player.start(audioStream);
}

png_92
دوشنبه 21 اسفند 1396, 19:45 عصر
دوستان من با کمک https://stackoverflow.com/questions/20389255/reading-a-resource-file-from-within-jar به ی چیزایی رسیدم ولی بازم مشکلم حل نشده. کد زیربرای یک نمونه فایل متنی است. تو محیط نت بینز اجرا میشه ولی وقتی ازش خروجی exe میگیرم کار نمیکنه. درضمن من با نرم افزار jar2exe کار میکنم.

JFrame f = new JFrame();
f.setSize(200, 200);
f.setVisible(true);

InputStream is = null;
BufferedReader bfReader = null;
try {
is = Test.class.getResourceAsStream("/sample.txt");
bfReader = new BufferedReader(new InputStreamReader(is));
String temp = null;
while ((temp = bfReader.readLine()) != null) {
System.out.println(temp);
f.setTitle(temp);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

png_92
جمعه 25 اسفند 1396, 15:38 عصر
من متوجه شدم که باید مسیر فایل در داخل برنامه و در مسیری مانند /src/resources قرار داد و از دستور getResourceAsStream برای خواندن فایل ها استفاده کرد.
اینم کد:

InputStream is = null;
BufferedReader bfReader = null;
is = Calass_Name.class.getResourceAsStream("/resources/Voice.wav");
AudioStream audioStream = new AudioStream(is);
AudioPlayer.player.start(audioStream);