FileInput / outputstream无法正常工作

问题描述 投票:-3回答:1

我这里有一个简单的输入/输出流:

package managingfilesanddirectories;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {

public static void main(String[] args) {

    try (
            FileInputStream in = new FileInputStream("selfie.jpg");
            FileOutputStream out = new FileOutputStream("newPic.jpg");) {
        int c;
        while ((c = in.read()) != -1) {
            out.write(c);
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();

    } catch (IOException e) {
        e.printStackTrace();
    }

  }
}

所有文件都在同一个包中,但每当我尝试制作新文件时,都不会创建新文件(包括.jpg, - 和.txt文件)。我正在使用netbeans,我应该将文件放在另一个包或目录中吗? enter image description here

我收到此错误:

java.io.FileNotFoundException: test.txt (The system cannot find the file   specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at managingfilesanddirectories.Main.main(Main.java:18)
java file inputstream outputstream
1个回答
-1
投票

要使用FileInputStream或FileOutputStream,您应该发送到构造函数File。例如:

File myFile = new File("C:\\exampleFile.txt");
FileInputStream inputStream;
try {
     inputStream = new FileInputStream(myFile);
     // reading from input stream
} catch (FileNotFoundException e) {
     e.printStackTrace();
} catch (IOException e){
     e.printStackTrace();
} finally {
     inputStream.close();
}

为了更好,您应该检查文件和路径是否存在。

© www.soinside.com 2019 - 2024. All rights reserved.