I'm trying to write some text to a file using Files.write()
method.
byte[] contents = project.getCode().getBytes(StandardCharsets.UTF_8); try { Files.write(project.getFilePath(), contents, StandardOpenOption.CREATE); } catch (IOException ex) { ex.printStackTrace(); return; }
According to the API, if the file doesn't exist, it will be created and then written to.
However, I get this:
java.nio.file.NoSuchFileException: C:\Users\Administrator\Desktop\work\Default.txt at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source) at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source) at java.nio.file.Files.newOutputStream(Unknown Source) at java.nio.file.Files.write(Unknown Source)
Am I missing something?
The problem is that the file is not on your classpath, hence when you run your program, Java can't find the file. One workaround would be to just use the fully qualified path to the file, e.g. C:\your_folder\project\result. csv . The alternative is to load it from the classpath.
Class NoSuchFileExceptionChecked exception thrown when an attempt is made to access a file that does not exist.
Java For Testers Java NIO package provide one more utility API named as Files which is basically used for manipulating files and directories using its static methods which mostly works on Path object.
You should be able to create a file, but you can't create a directory. You may need to check the directory C:\Users\Administrator\Desktop\work
exists first.
You can do
Path parentDir = project.getFilePath().getParent(); if (!Files.exists(parentDir)) Files.createDirectories(parentDir);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With