-1
파일 movie5.dat가 하드 디스크에 생성되었지만 파일에 데이터가 없습니다! 내가 코드를 실행해도 오류가 발견되지 않고 파일에 바이너리 데이터가 없습니다.왜이 코드는 동영상 데이터를 binery 파일에 쓰지 않습니까?
import java.nio.file.*;
import java.io.*;
public class Main
{
public static void main(String[] args)
{
DataOutputStream dos=DOS("e:\\movie5.dat");
movies[] m=movieinfo();
for (movies mm:m)
{
try {
dos.writeUTF(mm.filmname);
dos.writeInt(mm.year);
dos.writeDouble(mm.price);
}
catch (IOException e6){System.out.println("I/O write Error."); }
}
}
public static DataOutputStream DOS (String path)
{
DataOutputStream dos=null;
try{
File f1=new File(path);
FileOutputStream f2=new FileOutputStream(f1,true);
BufferedOutputStream f3=new BufferedOutputStream(f2);
dos=new DataOutputStream(f3);
}
catch (FileNotFoundException e1)
{
System.out.println("file not found.");
System.exit(0);
}
return dos;
}
public static movies[] movieinfo()
{
movies[] moviedata=new movies[3];
moviedata[0]=new movies("Gladiator",2001,14.5);
moviedata[1]=new movies("Matrix",2004,25.56);
moviedata[2]=new movies("Spider Man",2017,32.32);
return moviedata;
}
private static class movies
{
String filmname;
int year;
double price;
public movies(String filmname, int year, double price)
{
this.filmname=filmname;
this.year=year;
this.price=price;
}
}
}
당신은'DataOutputStream'을 닫지 않고, 예외를 삼키고, 예외를 무시하고, 예외 대신 자신의 메시지를 출력합니다. 이와 같은 코드를 작성하지 마십시오. – EJP