我试图将一些股票市场信息打印到文件中。我从URL获取信息,并将其放入csv。现在它给了我这个错误信息:
ERROR, make sure no other processes are using dumpFile\DIS.csv and run program again
dumpFile\DIS will be skipped or innacurate
java.io.FileNotFoundException: dumpFile\DIS.csv (The system cannot find the path specified)
有问题的代码是:
DataInputStream in=null;
FileOutputStream fOut = null;
DataOutputStream out = null;
String fileName = getDataFolder()+File.separator+symbol+".csv";
try {
URL remoteFile = new URL(downloadURL);
URLConnection fileStream = remoteFile.openConnection();
in = new DataInputStream(new BufferedInputStream(
fileStream.getInputStream()));
fOut = new FileOutputStream(fileName);
out = new DataOutputStream(new BufferedOutputStream(fOut));
int data;
while ((data = in.read()) != -1) {
out.write(data);
//System.out.println(data);
}
}
downloadURL变量是我想要下载的网址,我知道这是正确的。 getDataFolder返回" dumpFile"。 Symbol是公司在股票市场上的象征,GOOG,DIS等......在生成错误消息的调用中,我显示我用符号=" DIS"来调用它。这主要是来自我的教授的代码,所以我不能100%确定它是如何工作的,但我认为它应该做的是创建一个名为" dumpFile" + symbol +" .csv&的文件#34;并写信给那。我错了吗?关于确保它不会在其他地方打开的部分,我不会在计算机上的任何地方打开它,我甚至没有一个名为dumpFile \ DIS.csv的文件。
答案 0 :(得分:0)
确保目录“dumpFile”存在。如果getDataFolder()有时可以返回“dumpFile”之外的其他内容,请执行以下操作:
File folder = new File(getDataFolder());
if(!folder.exists()){
folder.mkdir();
}