我想了解的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 ();
}
}
Answer 1:
如果该目录不存在,你需要创建它。 因为Java本身不会创建File
类只是一个给也可以不存在的实体连结。
正如你所说的错误是,该文件不能被创建。 如果你读的PrintWriter构造函数的文档,你可以看到
FileNotFoundException异常 - 如果给定的字符串不表示现有的可写常规文件,并且该名称的新常规文件,不能创建,或者是一些其他的错误在打开或创建文件
你应该尝试创建它之前包含文件夹的路径:
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
file.getParentFile().mkdirs();
PrintWriter printWriter = new PrintWriter(file);
Answer 2:
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 ();
}
}
抛出文件例外。
Answer 3:
将文件对象传递给构造函数PrintWriter(File file)
:
PrintWriter printWriter = new PrintWriter(file);
Answer 4:
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();
}
}
}
}
Answer 5:
你应该在Java异常清晰的概念。 在java中有checked异常和unchecked异常。
经过异常检查由编译器在编译时(没有抛出,只是检查)的程序在运行时的流畅运行。
注:而在我们的计划,如果他们是一个机会,一个检查的异常会上升,那么我们就应该处理的checked exception或者通过尝试捕捉或抛出键word.Otherwise我们会得到一个编译时错误:
CE:意外的异常java.io.FileNotFoundException;必须捕获或声明被抛出。
如何解决:1.Put在try catch块你的代码:
如图上述其他球员2.使用抛出关键字。
建议:了解更多关于例外(我个人很喜欢这个话题)
Answer 6:
Java不正常接受“/”定义文件目录来使用,所以试试这个:
File file = new File ("C:\\Users\\user\\workspace\\FileTester\\myFile.txt");
如果该文件不存在,那么:
try {
file.createNewFile();
}
catch (IOException e) {
e.printStackTrace();
}
Answer 7:
嗯,我想首先保持整个主成尝试catch(或者可以直接使用public static void main(String arg[]) throws IOException )
,然后也用在你写的文件的完整路径
PrintWriter printWriter = new PrintWriter ("C:/Users/Me/Desktop/directory/file.txt");
想用户所有的directies,我,桌面,目录应该是用户所做的。 java的不会让目录拥有自己的。 它应该是为
import java.io.*;
public class PrintWriterClass {
public static void main(String arg[]) throws IOException{
PrintWriter pw = new PrintWriter("C:/Users/Me/Desktop/directory/file.txt");
pw.println("hiiiiiii");
pw.close();
}
}
Answer 8:
import java.io.*;
public class test{
public static void main(Strings []args){
PrintWriter pw = new PrintWriter(new file("C:/Users/Me/Desktop/directory/file.txt"));
pw.println("hello");
pw.close
}
}
Answer 9:
该PrintWriter
类实际上可以为您创建的文件。
这个例子工作在JDK 1.7+。
// This will create the file.txt in your working directory.
PrintWriter printWriter = null;
try {
printWriter = new PrintWriter("file.txt", "UTF-8");
// The second parameter determines the encoding. It can be
// any valid encoding, but I used UTF-8 as an example.
} catch (FileNotFoundException | UnsupportedEncodingException error) {
error.printStackTrace();
}
printWriter.println("Write whatever you like in your file.txt");
// Make sure to close the printWriter object otherwise nothing
// will be written to your file.txt and it will be blank.
printWriter.close();
对于有效编码列表, 请参阅文档。
或者,你可以通过文件路径PrintWriter
类没有声明编码。
Answer 10:
双击file.txt
,然后保存它, command + s
,在我的情况下工作。 此外,确保file.txt
保存在项目文件夹。 如果不工作。
PrintWriter pw = new PrintWriter(new File("file.txt"));
pw.println("hello world"); // to test if it works.
Answer 11:
如果你想使用PrintWrite那么试试这个代码
public class PrintWriter {
public static void main(String[] args) throws IOException {
java.io.PrintWriter pw=new java.io.PrintWriter("file.txt");
pw.println("hello world");
pw.flush();
pw.close();
}
}
文章来源: How to use PrintWriter and File classes in Java?