将数据从输入传输到输出文件,获得异常

时间:2015-05-01 14:31:44

标签: java file fileinputstream file-writing

我的数据没有传输到输出文件,我总是得到Exception

import java.io.*;
import java.util.*;

class TransferData {
    public static void main(String[] args) {
       String path1="E:\\IO\\Input.txt";
       String path2="E:\\IO\\Output.txt";
       int data;
       System.out.println("Transfering started...");
       try {
           FileInputStream  fis=new FileInputStream(path1);
           FileOutputStream fos=new FileOutputStream(path2);
           while((data=fis.read())!=-1) {
               fos.write(data);
           }
       }
       catch(Exception e) {
           System.out.println("exception caught!");
       }
       System.out.println("Completed...");
    }
}

如何将数据传输到输出文件?

2 个答案:

答案 0 :(得分:2)

在我的本地计算机上测试了这段代码,它没有例外。

  1. 检查文件 E:/IO/Input.txt存在
  2. 您的用户的IS目录 E:/ IO可写 (如果文件 E:/IO/Output.txt已存在,则检查是否可写,而不是在其他程序中打开)
  3. 按代码: 最好在程序完成执行后关闭FIS和FOS。

    public class TransferData {
       public static void main(String[] args) {
          String path1 = "E:\\IO\\Input.txt";
          String path2 = "E:\\IO\\Output.txt";
          int data;
          System.out.println("Transfering started...");
          FileInputStream fis = null;
          FileOutputStream fos = null;
          try {
             fis = new FileInputStream(path1);
             fos = new FileOutputStream(path2);
             while ((data = fis.read()) != -1) {
                fos.write(data);
             }
          } catch (Exception e) {
             e.printStackTrace();
          } finally {
             try {
                if (fis != null) {
                   fis.close();
                }
                if (fos != null) {
                   fos.close();
                }
             } catch (IOException e) {
                e.printStackTrace();
             }
    
          }
          System.out.println("Completed...");
       }
    }
    

答案 1 :(得分:1)

如果您将System.out.println("exception caught!");替换为e.printStackTrace();,那么您将收到更有用的错误消息。

如果您在此处发布该错误消息,那么人们将能够更轻松地为您提供帮助。

可能是程序无法找到您尝试阅读的文件。