ورود

View Full Version : مشکل در نوشتن در فایل



shaaadi
دوشنبه 01 آذر 1389, 18:08 عصر
یه برنامه نوشتم که تو یه تیکه از اون باید یه رشته از صفر و یک ها(اینت) رو که تو یه وکتور نگه داشتم رو در یک فایل بریزم ...من اول اومدم این وکتور رو به یک استرینگ تبدیل کردم و بعد ریختم تو فایل ... با دو تا دستور :
vector.toString --- file.writeChars
اما وقتی خروجی فایل رو دیدم ...یه سری مربع بهم تحویل داد !!!
بعدش اومدم تبدیل به استرینگ رو بیخیال شدم ... دونه دونه ... هر اینتی که داخل وکتور بود رو با رایت معمولی رایت کردم .... اما باز هم مربع میده بهم !!!!
اشتباه من کجاست ؟

shaaadi
دوشنبه 01 آذر 1389, 21:50 عصر
هنوز نمی دونم چرا اون راه قبلی جواب نداد ... ولی تونستم با این بنویسم بالاخره !:




FileOutputStream myOutput = new FileOutputStream("mytest.txt");

myOutput.write(vector.get(t).toString().getBytes() );

jReihane
سه شنبه 02 آذر 1389, 10:21 صبح
احتمالا انتظار داشتين كه وقتي به يه vector مي گين toString بياد تك تك عناصرش رو به String تبديل كنه، اما اين كار رو نمي كنه چون متد toString توي collectionها و array ها و vectorها override نشده و بنابراين از متد toString كلاس Object استفاده مي كنه.
اگر مي خواين كه تك تك عناصر به String تبديل بشن toString رو توي كلاس خودتون override كنين يا اينكه همينطوري توي متد اصلي تون يه loop بزنين
در واقع كاري كه خودتون كردين هم همين كاره اما فقط براي يك عنصر
يك مورد ديگه هم كه هست اينه كه توي فايلتون از كاراكترهاي يونيكد استفاده مي كنين يا مطمئنين كه هيچ وقت استفاده نمي شه؟ اگر مطمئن نيستين يا مي دونين كه استفاده مي شه از
getBytes("UTF-8")
استفاده كنين