좋아, 웹에서 다음 코드를 가지고, 그것은 는 작업을 수행합니다자바 헤로인 FileTransfer
@Override
public void fileTransferRequest(FileTransferRequest request) {
// Check to see if the request should be accepted
final IncomingFileTransfer transfer = request.accept();
runnningFileTransfer = transfer;
try
{
final File file = new File("/Users/Akku/Downloads/in2" + request.getFileName());
transfer.recieveFile(file);
t = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
transfer.recieveFile(file);
System.out.println("DONE?");
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
t.run();
이 코드가 실행을, 내 10메가바이트 테스트 파일의 경우는 꽤 많이 걸립니다 시각. 슬프게도, 나는 전학이 끝났는 지 또는 진행 상황이 무엇인지 알 필요가있다. 재미있게, 또한이 부분을 가지고 (이 단지 자고 진행에 대한 확인) 나는 그것을 추가 할 때, 파일 전송이 더 이상 작동하지 않습니다, 웹에서 :
while(!transfer.isDone())
{
if(transfer.getStatus().equals(Status.error))
{
System.out.println("ERROR"+transfer.getError() + " EX: " + transfer.getException());
}
else
{
System.out.println("Written: "+transfer.getAmountWritten());
System.out.println("STATUS"+transfer.getStatus());
System.out.println("PROGRESS"+transfer.getProgress());
}
try
{
Thread.sleep(10000);
System.out.println("Waiting...");
}
catch (Exception e)
{
e.printStackTrace();
}
}
모든 힌트는 왜 이런 일이 있는가? 위의 스 니펫이 완벽하게 작동하기 때문에 자바라고 생각합니다.