עבור לתוכן

Process ב-Java.. בבקשה עזרה..

Featured Replies

פורסם

שלום לכולם,

אני מנסה ליצור פרוסס ב-JAVA שאמור לבצע את הפעולה:

mysqldump -u root -p 123 database > mydumpfile.sql.

הפקודה הזאת יוצרת קובץ דאמפ (מעיין גיבוי) לדאטה בייס.

דרך הcmd אני מצליח לבצע את זה בלי בעיה.

אבל אני לא מצליח דרך הקוד.. חיפשתי שעות באינטרנט מצאתי כמה דברים אבל זה לא הצליח..

נ.ב. ליצור פרוסס פשוט שמפעיל לדוגמא את ה-notepad אני מצליח..

בבקשה עזרההה!! זה ממש דחוף...!

פורסם

תנסה להפעיל את:



cmd /c mysqldump -u root -p 123 database > mydumpfile.sql.


מה שזה עושה בעצם זה להפעיל את הקובץ cmd(שהוא בעצם הCOMMAND LINE), מריץ את הפקודה ואחר כך יוצא מהCOMMAND LINE.

למידע נוסף צרשום בCOMMAND LINE

help cmd

פורסם
  • מחבר

אוקיי.. תודה..

אבל נתקלתי בכמה בעיות.

שמתי לב שה-cmd מתחיל אוטומטית בתוך document & settings איך אפשר לעשות שהcmd יתחיל ישירות מ :c?

או איך אפשר לנווט אל תיקיה מסוימת במשפט אחד?.. כי הקובץ mysqldump נמצא בתוך התיקיהmysql ב-program files.

פורסם

2 אפשרויות:

1) תרשום את הנתיב המלא של הקובץ.

2) תוסיף את הנתיב למשתני המערכת(אתה יכול לשנות דרך המחשב שלי).

פורסם
  • מחבר

תודה רבה!!

הצלחתי..

זה פועל גם מהקוד של ג'אווה.

אם מישהו מעוניין לדעת את הפתרון הסופי שירשום ואני אכניס לכאן את הקוד.

פורסם

איך אתה מפעיל פקודות בJAVA?

פורסם
  • מחבר

יש אפשרות ליצירת אובייקט מסוג Process, המשמש להרצת פרוססים במערכת ההפעלה.

ממש בדומה ל Command Line (Run) בווינדוס.

השימוש שלו הוא פשוט ונוח.

לדג':


Process p = new Runtime.getRuntime().exec("notepad.exe");

פעולה זו תפתח את הnotepad.

[br]פורסם בתאריך: 1.02.2007 בשעה 23:59:15


דוגמא לקבלת כל הקבצים הנמצאים בתוך תיקיה (כמו פקודת dir ב-dos)


public class CygJava
{
public static void main (String args[])
{
File workDir = new File("c:/cygwin/bin");
try
{
Runtime systemShell = Runtime.getRuntime();
Process shellOutput = systemShell.exec("cmd.exe /C dir", null, workDir);
InputStreamReader isr = new InputStreamReader(shellOutput.getInputStream());
BufferedReader br = new BufferedReader (isr);
String line = null;
System.out.println("<OUTPUT>");

while((line = br.readLine()) != null )
{
System.out.println(line);
}

System.out.println("</OUTPUT>");
int exitVal = shellOutput.waitFor();
System.out.println("Process Exit Value : "+exitVal);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}


פורסם

שימוש נחמד...

כשאתה מפעיל את זה, אתה רואה חלון CMD?

פורסם
  • מחבר

לא, הלולאה עם readLine היא מקבלת את הנתונים מcmd ומדפיסה אותם אצלך בהרצה.

אני מאמין שיש אפשרות לפתוח את החלון.. פשוט לא חפרתי על זה יותר מידי..

אני מכיר ב C# אפשרות כזו עם פתיחת חלון.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים