2017-06-03 16 views
0

FileNotFoundのエラーが発生します。基本的には、クライアントからサーバーにファイルをアップロードしようとしています。FileOutputStreamのFileNotFound例外

お願いします。

これはclient.javaクラス パッケージftppackageです。

import java.net.*; 
import java.io.*; 

public class Client { 

    public static void main (String [] args) throws IOException { 
     Socket socket = new Socket("127.0.0.1",15123); 
     File transferFile = new File ("D:\\AsiaAd.wmv"); 
     byte [] bytearray = new byte [(int)transferFile.length()]; 
     FileInputStream fin = new FileInputStream(transferFile); 
     BufferedInputStream bin = new BufferedInputStream(fin); 
     bin.read(bytearray,0,bytearray.length); 
     OutputStream os = socket.getOutputStream(); 
     System.out.println("Sending Files..."); 
     os.write(bytearray,0,bytearray.length); 
     os.flush(); 
     socket.close(); 
     System.out.println("File transfer complete"); 
    } 
} 

そして、これが私のserver.javaクラス

package ftppackage; 

import java.net.*; 
import java.io.*; 

public class Server { 

    public static void main (String [] args) throws IOException { 
     int filesize=1022386; 
     int bytesRead; 
     int currentTot = 0; 
     ServerSocket serverSocket = new ServerSocket(15123); 
     Socket socket = serverSocket.accept(); 
     System.out.println("Accepted connection : " + socket); 
     byte [] bytearray = new byte [filesize]; 
     InputStream is = socket.getInputStream(); 
     FileOutputStream fos = new FileOutputStream("E:\\0\\"); // it is creating new file not copying the one from client 
     BufferedOutputStream bos = new BufferedOutputStream(fos); 
     bytesRead = is.read(bytearray,0,bytearray.length); 
     currentTot = bytesRead; 
     do { 
      bytesRead = is.read(bytearray, currentTot, (bytearray.length-currentTot)); 
      if(bytesRead >= 0) 
       currentTot += bytesRead; 
     } while(bytesRead > -1); 
     bos.write(bytearray, 0 , currentTot); 
     bos.flush(); 
     bos.close(); 
     socket.close(); 
    } 
} 

プラスで、割合でそれにプログレスバーを追加するにはどうすればよい私を導きます。私はここでSwingWorkerについて読んでいますが、私はスレッドのコンセプトで全く新しいので、実装することはできません。 私の質問を考えていただきありがとうございます。

+1

'FileNotFoundException'のテキストが原因です。おそらく権限の問題ですが、あなたが投稿していないので、あなただけがそれを伝えることができます。あなたは 'ProgressMonitorInputStream'を見る必要があります。 – EJP

+0

randomFile.extを追加するとランダムなファイルを意味するので作成されます。 E:/ 0で書込みに許可の問題がある場合、なぜランダムなファイルが作成されるのですか? –

+0

私はそのことについて一言も理解していませんが、ヒントを取り、例外テキストを検査したか、実際にここに投稿してください。 – EJP

答えて

-1

FileNotFoundExceptionは、Fileオブジェクトがそのパスに存在しないFileを指している場合に表示されるものです。指定されたパスにそこにアップロードしようとしているファイルが何であるかを意味します。それで、あなたが有効なパスを与えることを確認してください。

+0

クライアントからサーバーにファイルをアップロードしようとしています。アップロードする前にクライアントファイルのコピーをサーバーのアップロードパスに保存することは、まったく意味がありません。サーバーは単にクライアントから送信されたファイルをコピーする必要があります。 –

関連する問題