如何使用PrintWriter的文件和Java中的类?(How to use PrintWriter

2019-06-17 10:48发布

我想了解的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?