Сохтани файлҳо дар Java осон аст. Дар ин вазифа, мо чор роҳи гуногуни эҷоди файлҳоро дар Java дида мебароем. Ба мо танҳо воридоти бастаи дахлдор ва истифодаи усулҳои дахлдор лозим аст.
Мисолҳои дар поён овардашуда аз java.io.file
, java.io.fileOutputStream
ва java.nio
бастаи Ин дарсҳо аз қуттии Java API пешниҳод карда мешаванд. Мо инчунин сохтани файлро бо Apache Commons дида мебароем.
Дар мисоли аввал, мо createNewFile()
-ро истифода мебарем усули аз java.io.file
синф. Ин усул арзиши мантиқиро бар мегардонад. Агар он аллакай мавҷуд бошад, он бардурӯғ ё дар сурати сохташуда ҳақиқиро бар мегардонад.
import java.io.File; import java.io.IOException; public class CreateFileJavaExamples {
public static void main(String[] args) {
File file = new File('c://examples//newFile.txt');
try {
if (file.createNewFile()) {
System.out.println('File create');
} else {
System.out.println('File already exists!');
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
} }
ШАРҲ: Намунаи дар боло овардашуда файли холиро дар ҷои пешниҳодшуда эҷод мекунад.
Марбут:
Мисоли навбатӣ fileOutputStream
-ро истифода мебарад. Бояд қайд кард, ки ин бештар барои эҷоди файл ва навиштани мундариҷа ба он дар як лаҳза истифода мешавад.
import java.io.FileOutputStream; public class CreateFileJavaExamples {
public static void main(String[] args) {
try {
new FileOutputStream('newFile.txt', true);
} catch (Exception e) {
System.out.println(e.getMessage());
}
} }
Агар файл вуҷуд надошта бошад, усули дар боло овардашуда онро эҷод мекунад. Агар файл мавҷуд бошад, гузариш true
танҳо ба он мундариҷа илова мекунад.
ШАРҲ: Ҳангоми истифодаи fileOutputStream
эҳтиёт шавед. Агар файл бо мундариҷа вуҷуд дошта бошад, агар мо гузарем false
ҳамчун параметр ба fileOutputStream
усул, он файлро аз нав сабт мекунад ва мундариҷа гум мешавад!
Дар мисоли зерин мо java.nio
-ро истифода мебарем бастаи, ки дар JDK 7 ҷорӣ карда шудааст.
Барои сохтани файл бо nio
бастабандӣ, ба мо лозим аст, ки аввал роҳро муқаррар кунем ва пас createFile()
-ро истифода барем усули аз Files
синф. Сохтани файлҳо тавассути нави nio
Маҷмӯа варианти афзалиятнок аст, зеро API беихтиёртар аст.
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateFileJavaExamples {
public static void main(String[] args) {
try {
Path newFilePath = Paths.get('src/test/resources/newFile.txt');
Files.createFile(newFilePath);
}
catch (IOException e) {
}
} }
Мисоли рамзи боло роҳи src/test/resources
-ро пешбинӣ мекунад аллакай вуҷуд дорад.
Агар шумо нахоҳед, ки китобхонаҳои стандартиро, ки берун аз қуттии Java дода шудаанд, истифода баред, шумо метавонед FileUtils
-ро истифода баред синф аз Apache Commons
import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; public class CreateFileJavaExamples {
public static void main(String[] args) {
File myFile = new File('src/test/resources/newFile.txt');
try {
FileUtils.touch(myFile);
} catch (IOException e) {
System.out.println(e.getMessage());
}
} }
Дар мисоли боло, мо touch
-ро истифода мебарем усули сохтани файл.