জাভাতে ডিরেক্টরিতে একটি ফাইল তৈরি করবেন কীভাবে?


156

যদি আমি কোনও ফাইল তৈরি C:/a/b/test.txtকরতে চাই তবে আমি কি এর মতো কিছু করতে পারি:

File f = new File("C:/a/b/test.txt");

এছাড়াও, আমি FileOutputStreamফাইলটি তৈরি করতে ব্যবহার করতে চাই । তাহলে আমি কীভাবে এটি করব? কিছু কারণে ফাইলটি সঠিক ডিরেক্টরিতে তৈরি হয় না।

উত্তর:


245

এটি করার সর্বোত্তম উপায় হ'ল:

String path = "C:" + File.separator + "hello" + File.separator + "hi.txt";
// Use relative path for Unix systems
File f = new File(path);

f.getParentFile().mkdirs(); 
f.createNewFile();

35
লিনাক্সের জন্য কাজ করবে না কারণ ইউনিক্স সিস্টেমে "C:" বলে কোনও জিনিস নেই।
মার্সেলো

33
new File("/a/b/test.txt")উভয় সিস্টেমের জন্য কাজ করে । উইন্ডোজে, এটি একই ডিস্কে লেখা হবে যেখানে জেভিএম চালায়।
বালুসসি

6
f.getParentFile().mkdirs(); f.createNewFile();
প্যাট্রিক বার্গনার

1
কল করা পদ্ধতিটি (mkdirs এবং createNewFile) ত্রুটিগুলির জন্য কল করতে ভুলবেন না
আলেসান্দ্রো এস

1
যদি (! file.exists ()) f.createNewFile ();
মেহেদি

50

লেখার আগে আপনাকে অবশ্যই প্যারেন্ট ডিরেক্টরীগুলির উপস্থিতি নিশ্চিত করতে হবে। আপনি এই দ্বারা এটি করতে পারেন File#mkdirs()

File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...

38

সঙ্গে জাভা 7 , আপনি ব্যবহার করতে পারেন Path, Pathsএবং Files:

import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class CreateFile {

    public static void main(String[] args) throws IOException {
        Path path = Paths.get("/tmp/foo/bar.txt");

        Files.createDirectories(path.getParent());

        try {
            Files.createFile(path);
        } catch (FileAlreadyExistsException e) {
            System.err.println("already exists: " + e.getMessage());
        }
    }
}

12

ব্যবহার করুন:

File f = new File("C:\\a\\b\\test.txt");
f.mkdirs();
f.createNewFile();

লক্ষ্য করুন আমি উইন্ডোজ ফাইল সিস্টেমে পাথের জন্য ফরোয়ার্ড স্ল্যাশগুলি ডাবল ব্যাক স্ল্যাশে পরিবর্তন করেছি। এটি প্রদত্ত পথে একটি ফাঁকা ফাইল তৈরি করবে।


1
উইন্ডোজে, \\ এবং / উভয়ই বৈধ। createNewFile()পথ অপ্রয়োজনীয় দ্বারা যখন আপনার সাথে লিখতে FileOutputStreamযাহাই হউক না কেন।
বালুসসি

@ এরিক লক্ষণীয় এবং সংশোধিত, আপনাকে ধন্যবাদ।
মার্সেলো

এটি ফাইলের পরিবর্তে test.txt নামে একটি ডিরেক্টরি তৈরি করেছে।
মাস্টারজয়ে 2

3

এটি করার একটি আরও ভাল এবং সহজ উপায়:

File f = new File("C:/a/b/test.txt");
if(!f.exists()){
   f.createNewFile();
}

উৎস


2
String path = "C:"+File.separator+"hello";
String fname= path+File.separator+"abc.txt";
    File f = new File(path);
    File f1 = new File(fname);

    f.mkdirs() ;
    try {
        f1.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

এটি একটি ডিরেক্টরি ভিতরে একটি নতুন ফাইল তৈরি করা উচিত


0

নির্দিষ্ট পথে নতুন ফাইল তৈরি করুন

import java.io.File;
import java.io.IOException;

public class CreateNewFile {

    public static void main(String[] args) {
        try {
            File file = new File("d:/sampleFile.txt");
            if(file.createNewFile())
                System.out.println("File creation successfull");
            else
                System.out.println("Error while creating File, file already exists in specified path");
        }
        catch(IOException io) {
            io.printStackTrace();
        }
    }

}

প্রোগ্রাম আউটপুট:

ফাইল তৈরির সাফল্য


0

আশ্চর্যজনকভাবে, উত্তরগুলির মধ্যে অনেকগুলি সম্পূর্ণ কার্য কোড দেয় না। এটা এখানে:

public static void createFile(String fullPath) throws IOException {
    File file = new File(fullPath);
    file.getParentFile().mkdirs();
    file.createNewFile();
}

public static void main(String [] args) throws Exception {
    String path = "C:/donkey/bray.txt";
    createFile(path);
}

0

একটি ফাইল তৈরি করতে এবং সেখানে কিছু স্ট্রিং লিখতে:

BufferedWriter bufferedWriter = Files.newBufferedWriter(Paths.get("Path to your file"));
bufferedWriter.write("Some string"); // to write some data
// bufferedWriter.write("");         // for empty file
bufferedWriter.close();

এটি ম্যাক এবং পিসির জন্য কাজ করে।


0

ফাইলআউটপুট স্ট্রিম ব্যবহারের জন্য এটি ব্যবহার করে দেখুন:

public class Main01{
    public static void main(String[] args) throws FileNotFoundException{
        FileOutputStream f = new FileOutputStream("file.txt");
        PrintStream p = new PrintStream(f);
        p.println("George.........");
        p.println("Alain..........");
        p.println("Gerard.........");
        p.close();
        f.close();
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.