بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

 مجموعه سوالات کار با فایل (اسم تاپیک سه بار عوض شده !)

مدیریت گفتگو
Criss 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

من میخوام که برنامه ایی بسازم که خیلی شبیه به CMD ویندوز باشه

چطور میتونم همچین چیزی رو طراحی کنم؟

برای شروع یک سری دستورات ساده مثل زیر نیاز دارم

CD و  DIR و MD و RD و  Echo text > text.txt  و start file.jpg و start D:\folder و type file.txt

متاسفانه معادل دستورات بالا رو برای اندرویید بلد نیستم ! توی کدوم بخش اموزشی میشه این موارد رو دید ؟

نظرات

مجتبی یگانه 12 سال پیش
خوب بیشتر دستورات ، کار با فایل ها هست دیگه :)
مجتبی یگانه 12 سال پیش
مثلا برای CD شما باید اول یک متغییر به نام مسیر پیشفرض داشته باشید ، بعد بگید که وقتی این دستور اجرا شد ، مسیر عوض بشه ، در هر بار دستورات اجرا میشه ، با فایلی که تو این مسیر هست کار کنه
Criss 12 سال پیش
فرض کنید من فقط بخوام وقتی برنامه اجرا میشه فقط یک دستور اجرا بشه و اون هم دستوری مشابه DIR باشه در چنین شرایطی خروجی چی هست ؟ برای دیوایس های متفاوت ممکنه متغیر باشه ؟
مجتبی یگانه 12 سال پیش
به جواب رسیدی خداروشکر ! ، دقیقا با همون listFiles و isFile ,isDirectory و.. میشه این کار رو کرد
***ali*** 12 سال پیش
برنامه terminal emulator رو تو سایت fdroid سرچ کن. سورسش هم هست.
1117 11 سال پیش
سعی کن ساخت اینجور برنامه ای رو توی دستورکارت قرار بدی . چون توی بازار من هر چی گشتم چیزی با این مضمون پیدا نکردم تا دانلود کنم

پاسخ‌ها 6

Criss 12 سال پیش

من از دستور زیر استفاده کردم

 String value = Environment.getExternalStorageState();
Log.i("LOG", "" + value);

خروجی هم mounted بود

خب این یعنی چی ؟

-------------------------------

جواب پیدا شد <

لینک

نظرات

Criss 12 سال پیش
جواب این رو هم پیدا کردم - یعنی اینکه حافظه SDCARD در دسترست هست
Criss 12 سال پیش

 Environment.getExternalStoragePublicDirectory();

کد بالا چی هست ؟ و برای ورودی اون چی باید بزاریم ؟ که گیر نده ؟

--------------------------------

من برای تست دستورات زیر رو استفاده کردم اما برنامه هیچ اررو و کرشی نداشت

اما من نتونستم اتفاقی رو مشاهده کنم ؟ دقیقا چه اتفاقی افتاده ؟ چرا برای دستور اول اررور نداد ؟ و برای دستور دوم هیچ فولدری ایجاد شده ؟ در چه ادرسی ؟

File diri = new File(sdCard.getAbsolutePath() + "diri");
File dirii = new File("/dirii");
diri.mkdir();
dirii.mkdir();

نظرات

MiRHaDi 12 سال پیش

چون پايه سيستم عامل اندرويد لينوکس هست نه داس ، وقتي از خط فرمان استفاده ميکنيد بايد از دستورات ترمينال لينوکس/يونيکس استفاده کنيد

مثلا به جاي Dir از ls استفاده ميکنيد

برنامه ترمينال براي اندرويد موجود ميباشد و اسمش هم Terminal Emulator هست.

دستورات مجاز استفاده در کنسول هم در اينترنت فراوان توضيح داده شده. اگر مشکلي بود بفرماييد توضيح دهم




نظرات

Criss 12 سال پیش
من دارم سعی میکنم یک اپلیکیشن شبیه به CMD یا همون ترمینال بسازم و در حال حاضر فقط میتونم از دستور Mkdir استفاده کنم ! و هنوز بقیه دستورات رو بلد نیستم
Criss 12 سال پیش

خب کلی سرچ کردم و فعلا به نتایج زیر رسیدم

معادل دستور Dir یا Ls میتونید از دستورات زیر استفاده کنید

 

File sdCard = Environment.getExternalStorageDirectory();

File[] files = sdCard.listFiles();
String[] files2 = sdCard.list();

for (int i = files.length; i > 0; i--) {
Log.i("LOG","" + files[i - 1]);
}
for (int i = files2.length; i > 0; i--) {
Log.i("LOG","" + files2[i - 1]);
}

نظرات

Criss 12 سال پیش

برای ساختن یک فایل Text به شوه زیر انجام میشه

 

File sdCard = Environment.getExternalStorageDirectory();

File file = new File(sdCard, "/dir/myData.txt");

FileOutputStream f = null;

try {
f = new FileOutputStream(file);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
PrintWriter pw = new PrintWriter(f);
pw.println("Hi , How are you");
pw.println("Hello");
pw.flush();
pw.close();
try {
f.close();
}
catch (IOException e) {
e.printStackTrace();
}

 حالا سوال من این هست که تفاوت دستورات زیر چی هست ؟ ممکنه در صورت نبودن فایل و delete کردن اون برنامه کرش کنه؟

file.deleteOnExit();
file.delete();

روش بالا برای حذف فایل و دایرکتوری یکی هست و تفاوتی نداره درسته ؟

=-----------------------------------------------------=

سلام دوباره

چطور میشه اسم فایل و فولدر رو تغییر داد ؟

چطور میشه پسوند یک فایل رو تغییر داد؟

چطور میشه یک فولدر رو با تمام محتویاتش حذف کرد؟

نظرات

Criss 12 سال پیش
دوستان من سوال بالا رو ویرایش کردم و این پست رو گذاشتم که تاپیک بیاد بالا _ اگر اطلاعی دارید به سوالات زیر همون پست جواب بزارید
Criss 12 سال پیش

سلا مجدد

دوستان چطور میشه مشابه ویژوال بیسیک که میشه دستورات شل(برخی دستورات CMD DOS) رو اجرا کرد . برای اندروید هم شل بزنیم و برخی دستورات لینوکس رو اجرا کنیم و خروجی بگیریم؟

نظرات

***ali*** 12 سال پیش
یه سوال وقتی ترمینال وجود داره و میشود از دستوراتش استفاده کرد . چرا ترمینال دیگه بسازیم؟ لینک
Criss 12 سال پیش
من علاقه دارم دستورات ترمینال رو خودم بتونم توی برنامه استفاده کنم
***ali*** 12 سال پیش
آقاچی شد چی کار کردی ؟

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