অ্যান্ড্রয়েড; একটি নতুন ফাইল তৈরি না করেই ফাইল বিদ্যমান কিনা তা পরীক্ষা করে দেখুন


227

আমি আমার প্যাকেজ ফোল্ডারে ফাইল বিদ্যমান কিনা তা যাচাই করতে চাই, তবে আমি কোনও নতুন তৈরি করতে চাই না।

File file = new File(filePath);
if(file.exists()) 
     return true;

এই কোডটি কোনও নতুন ফাইল তৈরি না করে চেক করে?



1
@ কনোক আমি আপনার সম্পাদনা মন্তব্যটি যাচাই করছি: ট্যাঙ্কগুলি যেমন শব্দগুলি হ'ল সরিয়ে দেওয়া হয়েছে ... : পি
কেভিন গুয়ান

1
@ কেভিনগুয়ান ওহ হ্যাঁ আমার খারাপ, সবে নতুন পর্বের পার্টি থেকে বাড়ি পেয়েছি যাতে আমি সঠিকভাবে লিখতে
পারিনি

উত্তর:


440

আপনার কোডের অংশটি কোনও নতুন তৈরি করে না, এটি এটির ইতিমধ্যে সেখানে রয়েছে এবং অন্য কিছু নেই তা কেবল এটি পরীক্ষা করে।

File file = new File(filePath);
if(file.exists())      
//Do something
else
// Do something else.

5
আমার ক্ষেত্রে কেন এই কোডটি একটি নতুন ফাইল তৈরি করছে তা জানেন না।
ofnowhere

সাব ফোল্ডারেও কীভাবে চেক করবেন?
প্রতীক বুটানী

4
এটি এর মতো কারণ কোনও স্থির পদ্ধতি নেই: ফাইল.একসিস্টস (স্ট্রিং ফাইল), সুতরাং আপনাকে 'অস্তিত্ব' পদ্ধতিতে অ্যাক্সেসের জন্য একটি নতুন ফাইল অবজেক্টটি ইনস্ট্যান্স করতে হবে।
জিওভা

3
আমি মনে করি ওপি নতুন ফাইল অবজেক্ট তৈরি করতে চায় না।
অ্যান্ড্রোদেভ

1
@ অ্যান্ড্রোদেভ নো - তিনি নতুন ফাইল তৈরি করতে চান না, উত্তর ফাইল করার ক্ষেত্রে নতুন রেফারেন্স তৈরি করে।
মেরিয়ান প্যাডজিওচ

31

আপনি এই কোডটি ব্যবহার করার সময়, আপনি কোনও নতুন ফাইল তৈরি করছেন না, এটি কেবলমাত্র সেই ফাইলটির জন্য একটি অবজেক্ট রেফারেন্স তৈরি করছে এবং এটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে।

File file = new File(filePath);
if(file.exists()) 
    //do something

21

এটি আমার পক্ষে কাজ করেছে:

File file = new File(getApplicationContext().getFilesDir(),"whatever.txt");
    if(file.exists()){
       //Do something
    }
    else{
       //Nothing
     }

2
এটির সমাধান যদি আপনার কেবলমাত্র ফাইলের নাম থাকে এবং তার পথ না থাকে
Zach

1
@Zach সত্যিই, এটা পথ প্রথম প্যারামিটার আমি (। GetApplicationContext () getFilesDir ()) পাঠানো হবে
জর্দি Vicens

8

যখন আপনি "আপনার প্যাকেজ ফোল্ডারে" বলছেন, তখন কি আপনার স্থানীয় অ্যাপ্লিকেশন ফাইল বোঝায়? যদি তা হয় তবে আপনি কনটেক্সট.ফাইলিস্ট () পদ্ধতিটি ব্যবহার করে তাদের একটি তালিকা পেতে পারেন । কেবল পুনরাবৃত্তি করুন এবং আপনার ফাইলটি সন্ধান করুন। এটি ধরে নেওয়া হচ্ছে আপনি Context.openFileOutput () দিয়ে মূল ফাইলটি সংরক্ষণ করেছেন

নমুনা কোড (একটি ক্রিয়াকলাপে):

public void onCreate(...) {
    super.onCreate(...);
    String[] files = fileList();
    for (String file : files) {
        if (file.equals(myFileName)) {
            //file exits
        }
    }
}

5

methodsপথ ক্লাসে অন্বিত হয়, যার মানে হল তারা পাথ উদাহরণস্বরূপ উপর কাজ করে। তবে শেষ পর্যন্ত আপনাকে অবশ্যই fileকোনও নির্দিষ্ট পথের উপস্থিতি যাচাই করতে সিস্টেমটি অ্যাক্সেস করতে হবে

 File file = new File("FileName");
 if(file.exists()){
 System.out.println("file is already there");
 }else{
 System.out.println("Not find file ");
 }

1
public boolean FileExists(String fname) {
        File file = getBaseContext().getFileStreamPath(fname);
        return file.exists();
}

0

কোটলিন এক্সটেনশন প্রোপার্টি

আপনি যখন কোনও ফাইল বস্তু তৈরি করবেন তখন কোনও ফাইল তৈরি হবে না, এটি কেবলমাত্র একটি ইন্টারফেস।

ফাইলগুলির সাথে কাজ করা আরও সহজ করার জন্য একটি বিদ্যমান রয়েছে .toFile উরিতে ফাংশন রয়েছে

ব্যবহার আরও সহজ করার জন্য আপনি ফাইল এবং / অথবা উরিতে একটি এক্সটেনশন সম্পত্তি যুক্ত করতে পারেন।

val File?.exists get() = this?.exists() ?: false
val Uri?.exists get() = File(this.toString).exists()

তারপরে কেবল ব্যবহার করুন uri.existsবা file.existsপরীক্ষা করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.