Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
eclipseide中的java文件编程_Java_Eclipse_File Io - Fatal编程技术网

eclipseide中的java文件编程

eclipseide中的java文件编程,java,eclipse,file-io,Java,Eclipse,File Io,我试图在eclipse中运行一些基本的java文件编程: out=new FileOutputStream("myfile.txt"); p=new PrintStream(out); p.println("my first file programming in java"); 我想在myfile.txt上写 我在src中创建了myfile.txt,但在运行程序后没有写入任何内容。我试过在cmd中运行相同的程序,效果很好 请让我知道问题所在关闭FileOutputStream out=ne

我试图在eclipse中运行一些基本的java文件编程:

out=new FileOutputStream("myfile.txt");
p=new PrintStream(out);
p.println("my first file programming in java"); 
我想在myfile.txt上写

我在src中创建了myfile.txt,但在运行程序后没有写入任何内容。我试过在cmd中运行相同的程序,效果很好


请让我知道问题所在

关闭FileOutputStream

out=new FileOutputStream("myfile.txt");
p=new PrintStream(out);
p.println("my first file programming in java");
p.close(); 
out.close();

关闭FileOutputStream

out=new FileOutputStream("myfile.txt");
p=new PrintStream(out);
p.println("my first file programming in java");
p.close(); 
out.close();

在运行时,当未指定绝对路径时,将相对于工作目录执行文件操作,这意味着FileOutputStreammyfile.txt将在当前工作目录中创建文件,不管是什么

如果它在命令行中工作,但在Eclipse中不工作,那么它一定意味着src不是您当前的工作文件夹。我猜项目文件夹就是当前文件夹

从Eclipse运行时是否会出错,或者程序只是终止?如果没有错误,那么您的文件将在其他地方创建。在硬盘上搜索它

作为测试,在Eclipse中运行程序时,在发布代码之前,添加以下内容并查看其指向的位置:

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

在运行时,当未指定绝对路径时,将相对于工作目录执行文件操作,这意味着FileOutputStreammyfile.txt将在当前工作目录中创建文件,不管是什么

如果它在命令行中工作,但在Eclipse中不工作,那么它一定意味着src不是您当前的工作文件夹。我猜项目文件夹就是当前文件夹

从Eclipse运行时是否会出错,或者程序只是终止?如果没有错误,那么您的文件将在其他地方创建。在硬盘上搜索它

作为测试,在Eclipse中运行程序时,在发布代码之前,添加以下内容并查看其指向的位置:

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

不知道为什么我不能在这里添加评论@津巴布韦是正确的。。。我只是想补充一点,这个问题实际上涉及到法拉盛。如果查看PrintStream.close实际上是BufferedWriter的源代码,您会注意到缓冲区在流关闭之前被刷新。如果您的文本字符串足够大,您甚至可能没有看到这个问题。但是,关闭流正是正确的做法。

不知道为什么我不能在这里添加注释@津巴布韦是正确的。。。我只是想补充一点,这个问题实际上涉及到法拉盛。如果查看PrintStream.close实际上是BufferedWriter的源代码,您会注意到缓冲区在流关闭之前被刷新。如果您的文本字符串足够大,您甚至可能没有看到这个问题。但是,关闭流正是正确的做法。

在关闭FileOutputStream之前,还应添加p.close。在关闭FileOutputStream之前,还应添加p.close