Giriş
Şu satırı dahil ederiz.
Açıklaması şöyle
Şu satırı dahil ederiz.
import java.nio.file.Files;
Bu sınıf Objects, Arrays gibi tamamen static metodlardan oluşan yardımcı bir sınıftır. Açıklaması şöyle.copy metodu Path + PathThis class consists exclusively of static methods that operate on files, directories, or other types of files.
Açıklaması şöyle
Şöyle yaparız. File nesneleri yine Path tipine çevriliyor.By default, the copy fails if the target file already exists
void copyFile(File source, File dest) throws IOException {
Files.copy(source.toPath(), dest.toPath());
}
copy metodu
Files.copy metodu yazısına taşıdımcreateDirectory metodu
Files İle Dizin Yaratma yazısına taşıdım.
createDirectories metodu
Files İle Dizin Yaratma yazısına taşıdım.
createFile metodu
Örnek ver
createLink metodu
Örnek ver
Örnek ver
createSymbolicLink metodu
Örnek
Örnek
Şöyle yaparız
Path newLink = Paths.get("myLink");
Path existingFile = Paths.get("existingFile.txt");
// Creating a symbolic link
Files.createSymbolicLink(newLink, existingFile);
// Checking if a path is a symbolic link
if (Files.isSymbolicLink(newLink)) {
System.out.println(newLink + " is a symbolic link.");
}
createTempDirectory metodu
Files Sınıfı İle Temporary Dosya Dizin Yaratma yazısına taşıdım.
createTempFile metodu
Files Sınıfı İle Temporary Dosya Yaratma yazısına taşıdım.
delete metodu
Files Sınıfı İle Temporary Dosya Dizin Yaratma yazısına taşıdım.
createTempFile metodu
Files Sınıfı İle Temporary Dosya Yaratma yazısına taşıdım.
delete metodu
Şöyle yaparız
Path path = Paths.get("myfile.txt");
Files.delete(path);
deleteIfExists metodu
Şöyle yaparız
Path path = Paths.get("myfile.txt");
Files.deleteIfExists(path);
getAttribute metodu
Şöyle yaparız
Path path = Paths.get("myfile.txt");
FileTime creationTime = Files.getAttribute(path, "creationTime");
System.out.println("Creation Time: " + creationTime);
getLastModifiedTime metodu
FileTime t = Files.getLastModifiedTime(path);
isRegularFile metodu
Örnek
Şöyle yaparız.Path filePath = ...;
if (Files.isRegularFile(filePath)) {...}
Örnek
Şöyle yaparız
boolean regularFile = Files.isRegularFile(symPath, LinkOption.NOFOLLOW_LINKS);
isWritable metodu
Path path = Paths.get("path/to/my/file");
// is it writable? If no, consider "read only"
boolean canWrite = Files.isWritable(path);
lines metoduFiles.lines metodu yazısına taşıdım
mismatch metodu
Java 12 ile geliyor. Dosyaların boyu farklıysa küçük olanı döner. Eğer aynıysa ancak byte içeriği farklıysa ilk farklılığın olduğu konumu döner
Açıklaması şöyle.
ÖrnekMove or rename a file to a target file.
Şöyle yaparız.
Path fileToMovePath = ...;
Path targetPath = ...;
Files.move(fileToMovePath, targetPath.resolve(fileToMovePath.getFileName()));
move metodu - source + target + optionsÖrnek - ATOMIC_MOVE
Açıklaması şöyle.
With an ATOMIC_MOVE you can move a file into a directory and be guaranteed that any process watching the directory accesses a complete file.Şöyle yaparız.
Files.move(src, dst, StandardCopyOption.ATOMIC_MOVE);
Örnek - REPLACE_EXISTINGŞöyle yaparız.
import static java.nio.file.StandardCopyOption.*;
Files.move(source, target, REPLACE_EXISTING);
newBufferedReader metoduŞöyle yaparız.
String CSV_FILE_PATH = "C:Test Data\\names.csv";
try (Reader reader = Files.newBufferedReader(Paths.get(CSV_FILE_PATH))) {
...
}
newBufferedWriter metoduŞöyle yaparız.
BufferedWriter w = Files.newWriter(file, Charsets.UTF_8);
newByteChannel metoduŞöyle yaparız.
Path path = Paths.get(lfile);
SeekableByteChannel sbc = Files.newByteChannel(path, StandardOpenOption.READ);
newDirectoryStream metoduSadece verilen dizini dolaşır. Yani özyinelemeli (recursive) değildir. Şöyle yaparız.
Path searchPath = Paths.get("c://log");
try (DirectoryStream<Path> fileList = Files.newDirectoryStream(searchPath)) {
for (Path path : fileList) {
System.out.println(path.getFileName());
}
newInputStream metoduEğer Path olarak bir dizin verirse java.nio.file.AccessDeniedException fırlatır. Kaltım şöyle
Exception
FileSystemException
AccessDeniedException
O da zaten IOException fırlatır.
Örnek
Elimizde bir path olsun
Dosya yoksa yaratılır. Varsa sonuna ekleme yapılır. Şöyle yaparız.
Şöyle yaparız.
İçi şöyle. Stream'in açılıp kapatıldığı görülebilir.
BasiFileAttributes nesnesi döner.
Path path = Paths.get("path/to/my/file");
Şöyle yaparız.try (InputStream in = Files.newInputStream(path)) {
// work with "in"
}
newOutputStream metoduDosya yoksa yaratılır. Varsa sonuna ekleme yapılır. Şöyle yaparız.
Path source1 = Paths.get("src1.txt");
Path source2 = Paths.get("src2.txt");
Path destination = Paths.get("dest.txt");
out = Files.newOutputStream(destination, CREATE, APPEND);
Files.copy(source1, destination, StandardCopyOption.REPLACE_EXISTING);
Files.copy(source2, destination);
notExists metoduŞöyle yaparız.
Path dirPath = ...;
if(Files.notExists(dirPath)){
Files.createDirectory(dirPath);
}
readAllBytes metoduİçi şöyle. Stream'in açılıp kapatıldığı görülebilir.
public static byte[] readAllBytes(Path path) throws IOException {
try (SeekableByteChannel sbc = Files.newByteChannel(path);
InputStream in = Channels.newInputStream(sbc)) {
long size = sbc.size();
if (size > (long)MAX_BUFFER_SIZE)
throw new OutOfMemoryError("Required array size too large");
return read(in, (int)size);
}
}
readAttributes metoduBasiFileAttributes nesnesi döner.
Örnek
Şöyle yaparız
setPosixFilePermissions metodu
Şu satırı dahil ederiz.
Elimizde şu kod olsun
Files.walk metodu yazısına taşıdım
Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);
readString metodu
Files.readString metodu yazısına taşıdım
setLastModifiedTime metodu
Örnek
Şöyle yaparız
FileTime newTime = FileTime.fromMillis(System.currentTimeMillis());
Files.setLastModifiedTime(path, newTime);
Şu satırı dahil ederiz.
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
ÖrnekElimizde şu kod olsun
Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxr-xr-x"
);
Şöyle yaparız.Path path = ...;
Files.setPosixFilePermissions(path, perms);
size metodu
Şöyle yaparız
Path path = Paths.get("myfile.txt");
long size = Files.size(path);
System.out.println("Size: " + size + " bytes");
walk metodu
walkFileTree metodu
Java 7 ile geliyor.
Örnek
SimpleFileVisitor sınıfını kullanarak şöyle yaparız.
Path path = ...;
Files.walkFileTree(path, new SimpleFileVisitor<Path>(){...});
ÖrnekFileVisitor arayüzünü kullanarak şöyle yaparız.
Path path = ...;
Files.walkFileTree(path, new FileVisitor<Path>() {...});
ÖrnekŞöyle yaparız.
Path src = ...;
Files.walkFileTree(src,
EnumSet.of(FileVisitOption.FOLLOW_LINKS),
Integer.MAX_VALUE,
new SimpleFileVisitor<Path>() {...}
);
write metodu - byte [] + OpenOptionÖrnek
Sıfırlayıp tekrar yazmak için (overwrite) şöyle yaparız.
Files.write(path, content.getBytes());
Açıklaması şöyle.The options parameter specifies how the the file is created or opened. If no options are present then this method works as if the CREATE, TRUNCATE_EXISTING, and WRITE options are present. In other words, it opens the file for writing, creating the file if it doesn't exist, or initially truncating an existing regular-file to a size of 0
Şöyle yaparız.
try {
Files.write(Paths.get("f.txt"), "text".getBytes(), StandardOpenOption.APPEND);
}catch (IOException e) {
...
}
ÖrnekDosya yoksa yaratmak, varsa ekleme yapmak için şöyle yaparız.
String message = "bla";
Files.write(
Paths.get(".queue"),
message.getBytes(),
StandardOpenOption.CREATE,
StandardOpenOption.APPEND);
write metodu - CharSequence + Charset + OpenOptionŞöyle yaparız.
Path path = ...;
Files.write(path,
"text".getBytes(),StandardCharsets.UTF_8);
writeString metoduÖrnek
Şöyle yaparız
Path filePath = Files.writeString(
Files.createTempFile(Path.of("../java11"), "techisbeautiful", ".txt"),
"Tech is beautiful"
);
Hiç yorum yok:
Yorum Gönder