שאלה בjava על deprecated

hellonoam

New member
שאלה בjava על deprecated

אני מקבל תמיד אזהרה ששורה מסויימת היא deprecated השורה היא:
new String( new DataInputStream(new FileInputStream(fileName)).readLine() );​
אני מקבל את ההודעה: the method readline() from type DataInputStream is deprecated זה עובד גם עם האזהרה אבל הייתי רוצה להריץ בלי אזהרות מישהו יכול לעזור לי? תודה!
 

DadleFish

New member
פשוט מאוד,

deprecated זה אומר שהפונקציה הזו הוחלפה בפונקציה אחרת, ועליך להשתמש בפונקציה החדשה. בינתיים זה יעבוד, אבל בעתיד ייתכן מאוד שהפונקציה readLine פשוט תיעלם (תעבור ממצב deprecated למצב obsolete) ואז לא תוכל להשתמש בה עוד. כשהקומפיילר צועק עליך כזה דבר, כל שעליך לעשות הוא לגשת לתיעוד באתר של SUN ולקרוא:
Deprecated. This method does not properly convert bytes to characters. As of JDK 1.1, the preferred way to read lines of text is via the BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form: DataInputStream d = new DataInputStream(in); with: BufferedReader d = new BufferedReader(new InputStreamReader(in));​
 

hellonoam

New member
זה לא עבד

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

hellonoam

New member
זה עןבד אבל עכשיו יש לי בעיה חדשה

קודם השתמשתי ב
new FileInputStream(fileName).available()!=0​
כדי לדעת מתי הגעתי לסוף הקובץ אבל אם אני משתמש בזה עכשיו אני מקבל true בשורה הראשונה שאני קורא מהקובץ אבל אחרי זה אני מקבל false למרות שיש בקובץ איזה 100 שורות. מישהו יכול בבקשה לעזור לי יש אולי דרך יותר טובה לבדוק אם הגעתי לסוף הקובץ? תודה
 
למעלה