我的数据没有传输到输出文件,我总是得到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...");
}
}
如何将数据传输到输出文件?
答案 0 :(得分:2)
在我的本地计算机上测试了这段代码,它没有例外。
按代码: 最好在程序完成执行后关闭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();
,那么您将收到更有用的错误消息。
如果您在此处发布该错误消息,那么人们将能够更轻松地为您提供帮助。
可能是程序无法找到您尝试阅读的文件。