java中的creatNewFile方法在未引发异常时不创建文件
我正在尝试创建一个新文件并写入其中。我指定的路径是手动创建的,没有问题。但它不会引发任何异常,但不会创建该文件:-java中的creatNewFile方法在未引发异常时不创建文件,java,file,Java,File,我正在尝试创建一个新文件并写入其中。我指定的路径是手动创建的,没有问题。但它不会引发任何异常,但不会创建该文件:- import java.io.File; import java.io.IOException; import java.io.PrintWriter; public class WriteFile { String filename=""; String path="D:\\myfiles"; public String write(Strin
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
public class WriteFile {
String filename="";
String path="D:\\myfiles";
public String write(String content, String name) throws IOException{
filename=name+".txt";
File file=new File(path+filename);
if(!file.exists()){
file.createNewFile();
}
String[] lines=content.split("\n");
PrintWriter writer=new PrintWriter(path+filename,"utf-8");
for(String line:lines){
writer.println(line);
}
writer.close();
return filename;
}
}
像那样设定你的路线。我想您想在
D:\\myfiles\\
位置下创建一个文本文件。所以你就这样定下你的路
String path="D:\\myfiles\\";
希望这能奏效。请注意,如果您希望在某个特定位置使用文件分隔符,则应确保有一个分隔符,而不是依赖正确的输入 其他说明:
- 尽可能通过方法上的参数传递值(除非这变得太复杂)
将根据需要放入分隔符,并在已放入分隔符时进行处理新文件(父文件,文件)
- 当可以使用局部变量时,不要使用字段
- 在写入文件之前,不需要创建文件
- 您不需要将文件拆分为行,因此可以将其作为行写入
- 您可以使用try with resource来确保资源始终处于关闭状态
- 如果您可以使一个方法或类
,那么就这样做,因为它清楚地表明您不依赖于任何实例成为静态的
public static String write(String content, String path, String filename) throws IOException {
File file=new File(path, filename);
try (PrintWriter writer = new PrintWriter(file, "UTF-8")) {
writer.println(content);
}
return file.getAbsolutePath();
}
像那样设定你的路线<代码>字符串路径=“D:\\myfiles\\”代码>。希望这能起作用。哦,我的错:D,谢谢。它应该是一个以“myfiles”开头并具有扩展名“.txt”的文件。如果你认为某个文件没有被创建,通常意味着它没有被创建在你认为的地方。@SohamBanerjee我添加了答案,如果有效,请接受。