我正在尝试理解PrintWriter我正在制作的一个小程序,我似乎无法让java生成该文件然后在其上写.当我执行下面的程序时,它在第9行给出了一个Filenotfoundexeption错误.它也无法在我指定的目录中生成该文件.我是新手,所以请尽量保持简单的答案.我正在使用Eclipse.
import java.io.PrintWriter;
import java.io.File;
public class Testing {
public static void main(String[] args) {
File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = new PrintWriter ("file.txt");
printWriter.println ("hello");
printWriter.close ();
}
}
Run Code Online (Sandbox Code Playgroud)
Jac*_*ack 73
如果目录不存在,则需要创建它.Java不会自己创建它,因为File类只是一个实际上根本不存在的实体的链接.
如您所述,错误是无法创建文件.如果您阅读PrintWriter构造函数的文档,您可以看到
FileNotFoundException - 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
您应该尝试为之前包含的文件夹创建路径:
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
file.getParentFile().mkdirs();
PrintWriter printWriter = new PrintWriter(file);
Run Code Online (Sandbox Code Playgroud)
小智 9
import java.io.PrintWriter;
import java.io.File;
public class Testing {
public static void main(String[] args) throws IOException {
File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = new PrintWriter ("file.txt");
printWriter.println ("hello");
printWriter.close ();
}
}
Run Code Online (Sandbox Code Playgroud)
抛出该文件的异常.
将File对象传递给构造函数PrintWriter(File file):
PrintWriter printWriter = new PrintWriter(file);
Run Code Online (Sandbox Code Playgroud)
import java.io.File;
import java.io.PrintWriter;
public class Testing
{
public static void main(String[] args)
{
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = null;
try
{
printWriter = new PrintWriter(file);
printWriter.println("hello");
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
if ( printWriter != null )
{
printWriter.close();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
363488 次 |
| 最近记录: |