بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با تبدیل به int (حل شد)
سلام به همه ی دوستان بنده یه متد دارم که باهاش فایل های Text رو از حافظه میخونم همه چیز درسته اما تنها مشکل اینه که وقتی خروجی متد رو به int تبدیل کنم به مشکل بر میخورم :::::::::::::::::::: متد :
private String ReadFile(File F)
{
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(F));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
br.close();
}
catch (IOException e) {
}
return text.toString();
}
با کد زیر میخوام فایل رو بخونم و به Int تبدیل کنم اما برنامه کرش میکنه :(
int x;
x= Integer.parseInt(ReadFile(File));
اگه تبدیل نکنم و به همون صورت String بخونم مشکل پیش نمیاد !!!!
علتش چیه ؟
لطفا راهنمایی کنید :(
0
0
مطمئنید مقداری که از فایل می خونید قابل تبدیل به int هست؟ منظورم اینه که داخل فایل عدد سیو شده؟ اگه اروری هم که می ده رو بزارین بهتر میشه راهنمایی کرد. (10 سال پیش)
0
0
برنامه کرش میکنه اینم لوگ ها :
at android.app.ActivityThread.-wrap17(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1442)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NumberFormatException: Invalid int: "20
"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:410)
at java.lang.Integer.parseInt(Integer.java:367)
at java.lang.Integer.parseInt(Integer.java:334)
at ir.tegrasoft.eachdayatip.CheckTimeService.onStartCommand(CheckTimeService.java:47)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3010)
... 8 more
البته فایل ها هاوی عدد هستند که با نوع String ذخیره شدن (10 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Vahid
10 سال پیش
0
0
ارور شما اینجاست:
Caused by: java.lang.NumberFormatException: Invalid int: "20 "
همین طور که می بینید همراه عدد شما یک کاراکتر space هم وجود داره که نمی تونه اونو تبدیل به int کنه.
می تونید با دستور trim فاصله های موجود رو حذف کنید سپس تبدیل کنید.
int x;
x= Integer.parseInt(ReadFile(File).trim());
پاسخ به سوال
محمد رضا
10 سال پیش
0
0
بله مشکل همین بود و من هم به دلیلی همین مشکلات احتمالی از دیتابیس استفاده کردم خیلی بهتره
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .