在java中使用printwriter在目录中写入文件

在java中使用printwriter在目录中写入文件,java,Java,文件不是在我的工作区或任何文件夹中创建的,任何一个suggect可以指定一个目录,并且必须使用“UTF-8”吗 将此行添加到代码中以查看文件位于哪个目录: System.out.println(System.getProperty("user.dir")); 它打印出java进程的工作目录。该文件肯定是创建的,除非new PrintWriter()抛出异常 有人建议指定一个目录吗 如果这意味着“如何指定目录”,请在文件名前加上它。如果它的意思是“如何发现写入文件的目录”,请打印System.g

文件不是在我的工作区或任何文件夹中创建的,任何一个suggect可以指定一个目录,并且必须使用“UTF-8”吗


将此行添加到代码中以查看文件位于哪个目录:

System.out.println(System.getProperty("user.dir"));

它打印出java进程的工作目录。

该文件肯定是创建的,除非
new PrintWriter()
抛出异常

有人建议指定一个目录吗

如果这意味着“如何指定目录”,请在文件名前加上它。如果它的意思是“如何发现写入文件的目录”,请打印
System.getProperty(“user.dir”)
的值

还必须使用“UTF-8”

这是个问题吗

public class PrinterQuestion {

    public static void main(String [] args){
        DateFormat format = new SimpleDateFormat("MMddyyyy");
        Date date = new Date();
        String currDate = format.format(date);
        try{
            //PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
            PrintWriter writer = new PrintWriter("twitterData_" + currDate + ".txt", "UTF-8");
            writer.println("TweetId,UserScreenName,Tweet,TimeStamp");
            writer.close();
        }catch(Exception e){
            e.printStackTrace();
        }

    }
}

如果您使用的日期格式为2010年4月5日,则会出现错误,因为该路径不存在。如果您试图将其保存在当前目录中,则必须如上所述更改日期格式,以避免文件路径混淆。顺便说一句,如果您使用的是Eclipse,这将把它放在您的workplace目录中。

是否关闭PrintWriter?最好使用绝对路径。在当前目录下回复以写入文件可能很危险。这段代码也不建议错误处理或流关闭。
public class PrinterQuestion {

    public static void main(String [] args){
        DateFormat format = new SimpleDateFormat("MMddyyyy");
        Date date = new Date();
        String currDate = format.format(date);
        try{
            //PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
            PrintWriter writer = new PrintWriter("twitterData_" + currDate + ".txt", "UTF-8");
            writer.println("TweetId,UserScreenName,Tweet,TimeStamp");
            writer.close();
        }catch(Exception e){
            e.printStackTrace();
        }

    }
}