نمایش نتایج 1 تا 11 از 11

نام تاپیک: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

  1. #1

    كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    سلام
    توي سي وقتي ميخاستم مثلا اطلاعات دانش آموزو توي فايل ذخيره كنم يه استراكت تعريف مي كردم بعد استراكتو تو فايل ذخيره مي كردم وقته خوندنم به اندازه ي طول استراكت از فايل مي خوندم
    حالا تو جاوا چطوري ميتونم اطلاعات يه شخص مثله نام و نام خانوادگيو ... كه فارسي هستن رو رو فايل بنويسم وبخونم
    كسي مثالي داره بتونه يك رك.ورد اطلاعات يك شخصو كه فارسي هست از فايل بخونه و تو فايل بنويسه؟
    پيشاپيش سپاسگذارم

  2. #2

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    می تونی از JAVA I/O استفاده کنی مثالاش اینجا ریخته


    http://commons.apache.org/io/description.html

  3. #3

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    سلام من از اين كلاس استفاده كردم
    اما اين جوابم نيست . كلا ميخام هر بار كاربر دكمه اي رو كليك كرد يه شي كه چهار تا رشته توش تعريف شده رو فايل ذخيره بشه و بعد شي بعدي همينطور
    نهايتا بتونم اين اشياو دونه دونه بخونم و باهاشون كار كنم يا رو فايل به روزرسانيشون كنم
    دوسته من ممنون
    كسي ميتونه در مورد خوندن چند شي و اينكه چطوري شي بعدي به اخر فايل اضافه بشه نه رو شي قبلي نوشته بشه كمك نميتونه بكنه؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    آمل
    پست
    134

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    سلام یک شی رو می تونی با serialize کردن روی فایل ذخیره و بازیابی کنی باید از کلاس های ObjectInputStream و ObjectOutputStream استفاده کنی..تو گوگل در مورد serialize کردن در جاوا سرچ کن خیلی اسونه

  5. #5

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    نقل قول نوشته شده توسط sina_oonline مشاهده تاپیک
    سلام یک شی رو می تونی با serialize کردن روی فایل ذخیره و بازیابی کنی باید از کلاس های ObjectInputStream و ObjectOutputStream استفاده کنی..تو گوگل در مورد serialize کردن در جاوا سرچ کن خیلی اسونه
    باور كن اين كارو كردم و ديدم حالا نميدونم اربرد اين رابط سيريالايز چيه
    اما مشكل من چيزه ديگس
    هر چي مثال هست اومده يه جا شيو نوشته
    من ميخام الان شيو بنويسم
    بعد فرض كن فردا هم بخام بنويسم با اين روش آيا مياد از اول فايل مينويسه شي جديدو يا از آخر فايل اگه از اول بنويسه كه اطلاعات قبلي پاك ميشه
    حالا فرض كن ده تا شي رو فايل دارم ميخام مقدار شي نهم رو بروز كنم فرض كن يه متغيير از شي نهم علي هست ميخام بكنمش رضا
    اين دو موضوع مشكلاي منه
    حل من ناصر؟

  6. #6

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    كسي نيس؟ مارا ياري نمايد

  7. #7

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    نقل قول نوشته شده توسط miki_ir مشاهده تاپیک
    كسي نيس؟ مارا ياري نمايد
    كسي نيس ادوستانننننننننننن

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    پست
    32

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    فرض كن فردا هم بخام بنويسم با اين روش آيا مياد از اول فايل مينويسه شي جديدو يا از آخر فايل اگه از اول بنويسه كه اطلاعات قبلي پاك ميشه
    هم میتونید کاری بکنید که فایل به کل پاک بشه و از سر نوشته بشه هم میتونید کاری بکنید که شی به آخر فایل اضافه بشه
    فرض كن ده تا شي رو فايل دارم ميخام مقدار شي نهم رو بروز كنم فرض كن يه متغيير از شي نهم علي هست ميخام بكنمش رضا
    تو این جور مواقع باید با استفاده از یه فایل کمکی اطلاعات فایل اصلی را به روز بکنید، برای مثال کلیه شی های فایل اصلی تا شی مورد نظر برای تغییر (هشت شی اول) رو داخل فایل کمکی بریزید، بعد شی به روز شده نهم، و بعد شی دهم از فایل اصلی رو داخل فایل کمکی بریزید و با یک عمل پاک کردن و کپی کردن فایل کمکی رو جایگزین فایل اصلی بکنید

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    آمل
    پست
    134

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    خب هر شی رو به صورت یه فایل به صورت OBJECTNAME.X ذخیره می کنین پس فکر کنید مثلا 2 تا شی STUDENT به نام ممد و علی دارین اون وقت دو تا فایل درست میشه MAMMAD.YOU و ALI.YOU خب حالا به کمک یه واسط مثل JFILECHOOSER یا به صورت دستی هر شی رو که میخواین فایلش رو لود می کنین و هر تغییر می خواین میدین مثلا شماره دانشجویی اون دانشجو رو عوض می کنین و دوباره همون شی رو ذخیره می کنین این میشه مفهوم سریالایز کردن..واقعا بهترین و تمیز ترین راه ممکن اینه

  10. #10

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    نقل قول نوشته شده توسط mamrez_kh مشاهده تاپیک
    هم میتونید کاری بکنید که فایل به کل پاک بشه و از سر نوشته بشه هم میتونید کاری بکنید که شی به آخر فایل اضافه بشه

    تو این جور مواقع باید با استفاده از یه فایل کمکی اطلاعات فایل اصلی را به روز بکنید، برای مثال کلیه شی های فایل اصلی تا شی مورد نظر برای تغییر (هشت شی اول) رو داخل فایل کمکی بریزید، بعد شی به روز شده نهم، و بعد شی دهم از فایل اصلی رو داخل فایل کمکی بریزید و با یک عمل پاک کردن و کپی کردن فایل کمکی رو جایگزین فایل اصلی بکنید
    خدا خيرت بده خب گفتنش با لفظ آسونه اما تو عمل خيلي بدبختي داره چطوري شيو پيدا كنم اصلا از كجا بدونم شي چندمه بعدشم كلاس دسترسي تصادفي تو حالت شي كار نمي كنه فقط بايتيه
    اي واي
    راه اون دوستمونم كه نشده ببرم پيش استاد از كلاس بيرونم مي كنه براي هر نفر يه فايل درس بشه بي معناس واقعا

  11. #11

    نقل قول: كسي ميتونه در مورد كار با فايل كمكم كنه راهنمايي ميخام

    دوست عزیز اگه اشتباه نکنم هدف شما درست کردن یک بانک اطلاعاتی هست. خوب اگه با بانک های اطلاعاتی معروف مثل mysql و ... نمی تونی کارت رو انجام بدی باید یک بانک اطلاعاتی خودت شبیه سازی کنی. برای این کار هم می تونی از الگوریتم های مربوط به طراحی بانک اطلاعاتی استفاده کنی ( توی گوگل سرچ کن)
    ولی به نظر من از mysql استفاده کنید.
    یه راه هم برای اینکه همه چیز رو سر هم بزنی و تحویل استادت بدی اینه :
    یک کلاس مثلا با نام person درست کن به صورت زیر :
    public class person implements Serializable{}


    که توی این کلاس یه سری فیلد تعریف کن (مثلا فیلد نام و نام خانوادگی و ....) کلا هر کاری می خوای توی این کلاس انجام بده . فقط مواظب باش که تنها از کلاس های توی این کلاس استفاده کنی که رابط serializable رو پیاده سازی کرده باشند.

    بعد یه فایل مشخص کن مثلا به نام persons.obj . که این فایل توی پوشه ی اصلی برنامه قرار داره . بعد اول اجرای برنامه این فایل رو بخون . به صورت زیر :
    FileInputStream in=new FileInputStream(new File("persons.obj"));
    ObjectInputStream input=new ObjectInputStream(in);
    ArrayList persons=new ArrayList();

    try{
    while(true){
    Object ob=input.readObject();
    if(ob!=null){
    persons.add(ob);
    }
    }
    }catch(Exception e){}


    الان یک لیست داریم که همه ی افراد داخش هستن.
    هر کاری می خوای روی این اشیا انجام بده(مثلا یک فیلد رو تغییر بده یا یک نفر رو پاک کن و ....) بعد آخر کاری همه ی اشیای توی لیست رو دوباره سیو کن.

    همونطور که گفتم این روش بهینه نیست (راستیتش حوصله ی گفتن روش های بهینه تر رو ندارم چون خیلی طولانی هستن. می تونی توی گوگل سرچ کنی) ولی خوب کارت رو راه می ندازه.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •