Java 如何将文件写入目录?
我正在尝试用Java将文件写入特定目录。我已经在Stack Overflow论坛中查看了许多已经回答的与此相关的问题。然而,我尝试的每一种方法最终都会出现以下错误:Java 如何将文件写入目录?,java,file,Java,File,我正在尝试用Java将文件写入特定目录。我已经在Stack Overflow论坛中查看了许多已经回答的与此相关的问题。然而,我尝试的每一种方法最终都会出现以下错误: java.io.IOException: No such file or directory at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:1012) at mainFile
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1012)
at mainFiles.fileManagers.NewCSV.nJSON(NewCSV.java:40)
at mainFiles.appWindows.UserDashboard$1.run(UserDashboard.java:30)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
代码:
关于如何将文件写入某个目录,有什么建议吗 关于您的代码的一些备注:
file.getParentFile().mkdirs()代码>
file.exists()&&file.isDirectory()
都是不必要的,因为isDirectory已经检查了存在性
更新代码:
关于代码的一些备注:
file.getParentFile().mkdirs()代码>
file.exists()&&file.isDirectory()
都是不必要的,因为isDirectory已经检查了存在性
更新代码: 尝试运行以下代码:
包com.test
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
nJSON("test");
}
public static void nJSON(String username) {
File file = new File("/home/ivan/Downloads/" + username + ".json");
try {
if (file.exists() && file.isDirectory()) {
System.out.println(username + ".json exist.");
} else {
String content = "testing";
file.createNewFile();
FileWriter writer = new FileWriter(file);
FileOutputStream os = new FileOutputStream(file);
writer.write(content);
writer.flush();
os.close();
writer.close();
System.out.println(username + ".json created.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
只需将home/ivan/Downloads/替换为有效的目录路径即可。它基本上是您的代码,没有简单的json。它在我的机器上工作,因此我怀疑您试图写入不存在的目录。尝试运行以下代码:
包com.test
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
nJSON("test");
}
public static void nJSON(String username) {
File file = new File("/home/ivan/Downloads/" + username + ".json");
try {
if (file.exists() && file.isDirectory()) {
System.out.println(username + ".json exist.");
} else {
String content = "testing";
file.createNewFile();
FileWriter writer = new FileWriter(file);
FileOutputStream os = new FileOutputStream(file);
writer.write(content);
writer.flush();
os.close();
writer.close();
System.out.println(username + ".json created.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
只需将home/ivan/Downloads/替换为有效的目录路径即可。它基本上是您的代码,没有简单的json。它在我的机器上工作,因此我怀疑您试图写入不存在的目录。您的代码在哪里?在我看来,您试图写入的目录似乎不存在。首先创建目录。请注意:我正在使用简单的JSON创建JSON文件。您正在同一个文件上创建一个单独的FileOutputStream。您从不写入它,但您在刷新单独的文件写入程序后关闭它。FileOutputStream是不必要的,并且可能有害。您的代码在哪里?在我看来,您试图写入的目录似乎不存在。首先创建目录。请注意:我正在使用简单的JSON创建JSON文件。您正在同一个文件上创建一个单独的FileOutputStream。您从不向其写入,但在刷新单独的文件写入程序后将其关闭。FileOutputStream是不必要的,并且可能有害。
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
nJSON("test");
}
public static void nJSON(String username) {
File file = new File("/home/ivan/Downloads/" + username + ".json");
try {
if (file.exists() && file.isDirectory()) {
System.out.println(username + ".json exist.");
} else {
String content = "testing";
file.createNewFile();
FileWriter writer = new FileWriter(file);
FileOutputStream os = new FileOutputStream(file);
writer.write(content);
writer.flush();
os.close();
writer.close();
System.out.println(username + ".json created.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}