我正在尝试编写一个简单的数据输出文件。当我执行代码时,我得到一个“没有文件存在”作为输出,并且在目录中没有创建data.txt文件。
我错过了什么?奇怪的是,它在那天晚上工作正常,但是当我今天装上它以再次测试它时,发生了这种情况。
以下是代码:
import java.io.*;
import java.util.*;
public class DataStreams {
public static void main(String[] args) throws IOException {
try {
DataOutputStream out = new DataOutputStream(new FileOutputStream("C:\\data.txt"));
for (int i = 0; i < 10; i++) {
out.write(i);
}
} catch (IOException ioe) {
System.out.println("No file exist");
}
}
}
数据文件应该是数字1到9的简单显示。
感谢您的意见。
答案 0 :(得分:0)
在c:中创建名为data.txt的文本文件。您必须删除该文件。手动创建该文件将起作用
答案 1 :(得分:0)
在Windows平台上,默认情况下C:\
是受限制的路径。以前,该应用程序可能已作为administrator
运行,允许访问。
解决方案:使用其他位置
DataOutputStream out =
new DataOutputStream(new FileOutputStream("C:/temp/data.txt"));
答案 2 :(得分:0)
您应该查看异常本身:
System.out.println("No file exist");
System.out.println(ex.getMessage());
也许您没有必要的权利,可以通过您的计划访问C:\
。
答案 3 :(得分:0)
默认情况下,在C:\中写入被拒绝,因此在您的情况下,即使您创建了该文件,也会收到带有拒绝访问消息的IOException。
public static void main(String[] args) throws IOException {
File output = new File("data.txt");
if(!output.exists()) output.createNewFile();
try {
DataOutputStream out = new DataOutputStream(new FileOutputStream(output));
for (int i = 0; i < 10; i++) {
out.write(i);
}
} catch (IOException ioe) {
System.out.println("No file exist");
}
}