2 שאלות בג'אווה

ogispan

New member
2 שאלות בג'אווה

שלום לכולם! 1) כשאני כותב לקובץ טקסט בג'אווה, ואחר כך מנסה לקרא את הקובץ בתוכנתNOTEPAD, אני שם לב שיש רווח בין האותיות. כלומר אם אמרתי לג'אווה לכתוב לקובץ את הסטרינג "abc" ומנסה לקרא את הקובץ ב NOTEPAD אז אני רואה שכתוב שם "a b c" . מה צריך לעשות כדי שהקובץ יכתב בלי הרווחים המיותרים האלו? 2) יש דרך להכניס למשתנה את התאריך והשעה הנוכחיים? יש פקודה כזאת בג'אווה? תודה רבה לכולם!!!
 

voguemaster

New member
איך אתה כותב את הקובץ ?

1. רצוי בד"כ לעבוד עם PrintWriter, הוא מיועד בדיוק לדברים האלה. 2. חפש בתיעוד על המחלקה SimpleDateFormat.
 

voguemaster

New member
שאלתי

איך כתבת את הקובץ בג'אווה ? באיזה צורה ? עם שימוש באיזה מחלקות ?
 

ogispan

New member
מישהו ענה לך....

וזה לא אני.... בכל מיקרה אני כותב לקובץ בעזרת DataInputStream עם הפקודה WriteChar
 

voguemaster

New member
אוקיי...

תשמע, אתה צריך לקרוא היטב את התיעוד ולהבין ש-DataOutputStream זו מחלקה שנועדה לכתיבת מידע בינארי (טיפוסים בסיסיים) אל הדיסק. כשאתה רוצה לכתוב תווים (קובץ ASCII), תשתמש ב-PrintWriter. נכון, זה אפשרי גם ככה. למעשה זה אפשרי בכמה וכמה צורות אבל זו השיטה הכי קלה ופשוטה:
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter)); out.println("a line"); out.close();​
 

ogispan

New member
אני עובד עם

DataOutputStream וזה עובד בדיוק כמו שהצעת לי לעבוד. עדיין יש לי בעיה עם ירידת שורה. כשאני כותב לקובץ את התו \n אז לא רואים ירידת שורה כשאני פותח את הקובץ ב NOTEPAD. גם ב- PRINTWRITER יש אותה בעיה. יש אפשרות לראות ירידת שורה גם ב- NOTEPAD? תודה!
 

EndersG

New member
אתה משתמש בחלונות?

בדיוק שאלתי את זה לפני כמה זמן - במערכות הפעלה שונות מסומן סוף שורה באופן שונה:
Windows = "\r\n" Linux = "\n" Macintosh = "\r"​
כששמים בחלונות רק "n\" זה מתנהג בדיוק כפי שתארת. נסה לפתוח את הקובץ בעזרת word pad ולשמור אותו ותכתוב אם הסתדר - נתקדם משם אם צריך.
 

voguemaster

New member
כמו שאמרתי

אם היית עובד עם PrintWriter לא הייתה לך הבעיה הזו. לדוגמא, היית קורא לפונקציה println שלו כדי להדפיס שורה. הוא מדפיס לך את המחרוזת וגם את התו ש"מוריד" שורה. יותר קל, יותר פורטבילי.
 

dharmax

New member
תאריך נוכחי

לגבי השאלה הראשונה, ראיתי שענו לך. לגבי השניה: פשוט מאוד: Date today = new Date(); s המחלקה Date היא חלק מה java.util. הקונסטרוקטור הריק (default constructor) נותן את הזמן הנוכחי, והוא כולל תאריך ושעה.
 
למעלה