【问题标题】:Writing to a file in Java with [duplicate]使用[重复]在Java中写入文件
【发布时间】:2015-03-28 03:24:42
【问题描述】:

我正在尝试将一些股市信息打印到文件中。我从 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 变量是我想从中下载的 url,我知道这是正确的。 getDataFolder 返回“dumpFile”。符号是股票市场、GOOG、DIS 等公司的符号...在生成错误消息的调用中,我显示我使用符号 =“DIS”调用它。这主要是我教授的代码,所以我不能 100% 确定它是如何工作的,但我认为它应该做的是制作一个名为“dumpFile”+symbol+“.csv”的文件并写入该文件。我错了吗?至于确保它没有在其他地方打开的部分,我没有在我的计算机上的任何地方打开它,我什至没有一个名为 dumpFile\DIS.csv 的文件。

【问题讨论】:

    标签: java file url csv fileoutputstream


    【解决方案1】:

    确保目录“dumpFile”存在。如果 getDataFolder() 有时可以返回“dumpFile”以外的内容,请执行以下操作:

    File folder = new File(getDataFolder());
    if(!folder.exists()){
      folder.mkdir();
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 2013-05-26
      • 2013-04-17
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 2019-03-04
      • 1970-01-01
      相关资源
      最近更新 更多