[英]Java writing into file with DataOutputStream not working
I have a task to write the data in one file into another using the ByteStream.我的任务是使用 ByteStream 将一个文件中的数据写入另一个文件。 What I'm trying to do is to read data in from file a.txt and write into a2.txt.
我要做的是从文件a.txt 中读取数据并写入a2.txt。
The read part works, but the write part does not work.读取部分有效,但写入部分无效。 I'm not getting an error, but there is no data in the a2.txt.
我没有收到错误,但 a2.txt 中没有数据。
What am I doing wrong here?我在这里做错了什么?
public static void main (String[] args) throws IOException
{
String oldfile = "/Users/xy/Desktop/Java/a.txt";
String newfile = "/Users/xy/Desktop/Java/a2.txt";
inputoutput(oldfile,newfile);
}
public static void inputoutput(String alt, String neu) throws IOException{
//InputStream
FileInputStream fiStream = new FileInputStream(alt);
DataInputStream diStream = new DataInputStream(fiStream);
//Creating a Array in size of the File
byte[] daten = new byte [diStream.available()];
// Save filesize
int eingabeDatensize = diStream.available();
diStream.read(daten);
// Test if input works
for (int i = 0; i < eingabeDatensize; i++){
System.out.println(daten[i]);
}
diStream.close();
//OutputStream
FileOutputStream foStream = new FileOutputStream(neu);
DataOutputStream doStream = new DataOutputStream(foStream);
//Creating a Array in size of the input file
byte[] ausgabedaten = new byte[eingabeDatensize];
//Writing the data into the Array
for (int i = 0; i < eingabeDatensize; i++){
doStream.write(ausgabedaten[i]);
}
doStream.close();
System.out.println("Successfull");
}
Try this hope it will work.试试这个希望它会工作。
public static void inputoutput(String alt, String neu) throws IOException{
//InputStream
FileInputStream fiStream = new FileInputStream(new File(alt));
DataInputStream diStream = new DataInputStream(fiStream);
//Creating a Array in size of the File
byte[] daten = new byte [diStream.available()];
// Save filesize
int eingabeDatensize = diStream.available();
diStream.read(daten);
// Test if input works
for (int i = 0; i < eingabeDatensize; i++){
System.out.println(daten[i]);
}
diStream.close();
//OutputStream
FileOutputStream foStream = new FileOutputStream(neu);
DataOutputStream doStream = new DataOutputStream(foStream);
//Writing the data into the Array
for (int i = 0; i < eingabeDatensize; i++){
doStream.write(daten[i]);
}
doStream.close();
System.out.println("Successfull");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.