آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال درباره ی خاصیت اضافه به فایل

Eminent  11 سال پیش  11 سال پیش
0 0

سلام دوستان خسته نباشید.

راستش استاد در بخشی که کار با فایل رو یاد دادند. همون منظورم کار با Outputstream و Inputstream هستش. مثلا ما یه فایل رو ساختیم و یکسری اطلاعاتی رو بهش write کردیم حالا میخوایم یکسری اطلاعات دیگه هم write کنیم. که در این صورت اطلاعات قبلی پاک میشه من تا جایی که تو c++ کار کرده بودم به این خاصیت گفته میشد append کردن یعنی درج اطلاعات جدید به انتهای اطلاعات قبلی الان من لازم دارم اگه خواهشا میدونید کمکم کنید ممنون میشم.

+1 0
یه راهش خوندن و نوشتن دوباره کل فایله ، یه راهش هم اینه لینک (11 سال پیش)
0 0
A.L.U دوست عزیزم اونجا آخه دستورات تو محیط جاوا هستش دقیقا همون دستور append هستش ک گفتم اما آخه اونجا با دستور write یا println کاراکترها رو نوشته و ما اینجا تو اندروید مثلا مینویسیم writeUTF و یا writeFloat باید نوع رو بگیم مشکلی ایجاد نمیکنه ؟ یعنی در هنگام append کردن نوع مهم نیس ؟ (11 سال پیش)
0 0
اوکی عالی بود مرسی هنوز ج نگرفتم ولی یه چیزایی متوجه شدم... (11 سال پیش)
0 0
حل شد دستت درد نکنه داداش. (11 سال پیش)
0 0
داداش حالا مشکلم اینه که مثلا من چند تا رکورد رو ثبت کردم تو فایل میخوام حالا select کنم یعنی اونی که اسمش ali هست رو نشون بده در واقع میخوام با هر append که انجام میدم اطلاعاتی که وارد میشه با اطلاعات قبلی بوسیله یه ایندکسی جدا بشه و سپس یعنی بتونم بطور دسته بندی شده به اطلاعاتم دسترسی پیدا کنم. میدونم اینکار با بانک اطلاعاتی خیلی آسونه منتها میخوای مبحث فایل رو تو اندروید خوب یاد بگیرم. امیدوارم منظورمو متوجه شده باشی... اگه مرجع خارجی هم داشتی مشکلی نیس. مرسی (11 سال پیش)
+1 0
ما میتونیم همه ی دستورات جاوا رو تو اندروید استفاده کنیم ! ، برای اون کار شما یک جداکننده seperator در نظر بگیرید ، مثلا بگید هر جا /n بود یا , بود میشه پایان یه رکورد ! ، بعد میتونید بگید ، اگه اولین مقدار رکورد ، 1 بود ، مثلا یعنی ایدی 1 بود ، داده رو برگردون ، دقیقا مثل database ، من دقیقا با همین روش یک بانک اطلاعاتی شخصی برای پروژه ی دانشگاه ساختم (11 سال پیش)
0 0
یعنی منظورتون اینه که بعد آخرین فیلدی که دارم ذخیره میکنم هر بار یه \n هم ذخیره کنم ؟ میشه اگه یه sample کوچیک هم داشته باشی برام بزاری ؟ ممنونت میشم. (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Eminent  11 سال پیش
0 0

دوست عزیز من تا این جا تونستم پیش برم خروجی تو notepad :

و سورس ذخیره من بصورت زیر هستش :

         btnSave.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {
                edtName = (EditText) findViewById(R.id.edtName);
                EditText edtLastname = (EditText) findViewById(R.id.edtLastname);
                EditText edtAvg = (EditText) findViewById(R.id.edtAvg);

                strName = edtName.getText().toString();
                strLastname = edtLastname.getText().toString();
                avg = Float.parseFloat(edtAvg.getText().toString());
                String strSex = null;
                if (rbSexm.isChecked()) {
                    //Log.i("LOG", "مرد");
                    strSex = "مرد";
                }
                if (rbSexz.isChecked()) {
                    //Log.i("LOG", "زن");
                    strSex = "زن";
                }
                //
                PrintWriter pw = null;
                try {
                    id++;
                    pw = new PrintWriter(new BufferedWriter(new FileWriter(G.APP_NAME, true)));
          String toWrite = id + "|" + strName + "|" + strLastname + "|" + strMaghtah + "|";
toWriter + strReshteh + "|" + strSex + "|" + avg + "|" + strYear + "|";
toWriter + strMonth + "|" + strDay; pw.println(toWrite); pw.flush(); pw.close(); } catch (IOException e1) { e1.printStackTrace(); } } });
0 0
اما هنوز تو select گرفتن مشکل دارم. میدونم حالا باید split کنم کاراکتر | رو از توش در بیارم و ایندکس گذاری کنم اما نمیدونم چطوری ؟ خواهشا کمک کن. (11 سال پیش)
0 0
من به یه جاهایی رسیدم اما مشکلاتی رو داره در قسمت پایین سورس خواندن از فایلمو میزارم یه نگاه بکن... (11 سال پیش)
پاسخ به سوال 
Eminent  11 سال پیش
0 0

                         BufferedReader br = new BufferedReader(new FileReader(G.APP_NAME));
                        try {
                            String result = br.readLine();
                            String[] resultSplit = result.split("|");
                            strName = (resultSplit[1]);
                            Toast.makeText(G.context, strName, Toast.LENGTH_SHORT).show();
br.close(); }
0 0
من الان که قبل دستور toast به resultSplit[] مقدار 1 رو دادم فقط مقدار id رو چاپ میکنه و قتی 2 میدم کاراکتر | و وقتی 3 میدم کاراکتر h رو یعنی چون داخل یه آرایه گذاشتم مثل آرایه کاراکتری برخورد میکنه اما من میخوام مثلا 1 همون id و 2 رو دادم کل اسم رو بده یعنی تاقبل علامت | رو چاپ کنه مشکلم فقط همینه دیگه اعصابمو خورد کرد... (11 سال پیش)
+1 0
سطر ها رو با خط جدید یا | جدا کنید ، ستون ها رو با , اینجوری میتونید بگید برو سطر سوم ، یعنی سومین | (11 سال پیش)
0 0
دوست عزیز نداری نمونه مثالی که تقریبا کمکم کنه ؟ (11 سال پیش)
0 0
الان راهنمایی که شما کردید مربوط به ذخیره هم میشه ها که من امتحان میکنم اما الان مشکل اصلی من خوندن رکورد از فایل هستش. (11 سال پیش)
پاسخ به سوال 
JSONObject  11 سال پیش
+1 0

Eminent  باید خب دستور for بذاری براش :

 for(int i=0 ; i<resultSplit.length ; i++){
Log.i("LOG","resultSplit #" + i + " : " + resultSplit[i] + "\n");
}
0 0
نه دوست عزیزم منظورم این هم نیس من یه لحظه بالا رو نگاه کن عکسشو گذاشتم مثلا رکوردم اینگونه ذخیره شده : 1|hamid|male خب عدد یک اینجا id باشه من میخوام تا وقتی که به اولین | نرسیدم بره تو id و بعد اولین | و قبل دومین | یعنی مابینشون بره تو sex و بعد آخرین | بره تو name امیدوارم تونسته باشم متوجه کنم. (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .