文件输入/输出流不工作

Posted

技术标签:

【中文标题】文件输入/输出流不工作【英文标题】:FileInput/outputstream not working 【发布时间】:2018-06-08 11:56:16 【问题描述】:

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

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,我应该将文件放在另一个包或目录中吗?

我得到这个错误:

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)

【问题讨论】:

请将e.getMessage() 替换为e.printStackTrace() 以了解您的catch 块中是否存在异常。 它会抛出异常吗?您运行应用程序的默认目录是什么? 已添加异常。没有默认目录,因为我只是添加文件名,并且它们在同一个包中(用于测试目的) 您没有显示整个代码。当前代码对test.txt 文件没有任何作用。 @MarceloTataje OP 正在使用 twr。你在说什么? 【参考方案1】:

对于使用 FileInputStream 或 FileOutputStream,您应该发送 ti 构造函数 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();

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

【讨论】:

您不需要将File 对象传递给FileInputStreamFileInputStream 可以将相对路径作为字符串,如果相对于 JVM 启动的位置不存在该文件,则创建该文件。 无需将文件对象传递给文件输入/输出流。文件名可以正常工作。请参阅 javadocs:docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html 可以,但是需要在构造函数中写完整路径 你设置文件的完整路径吗?

以上是关于文件输入/输出流不工作的主要内容,如果未能解决你的问题,请参考以下文章

文件流

IBM沃森语音流不输出文本转

保证IO流不出错

压缩多个excel成一个压缩包,浏览器下载

张量流不训练(只有偏差改变)

导入 input_data MNIST 张量流不工作