前提・実現したいこと
javaで画像の送受信を行いたい
受信側でswingのJFrame上で画像のファイル名を設定し受け取ることをしたい
つたないコードと質問ですが回答くださると幸いです
また足りない点等ありましたら指摘してください
発生している問題・エラーメッセージ
java.io.IOException: Invalid file path
java.io.FileNotFoundException: Invalid file path
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:229)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:124)
at Connect.run(Cli.java:118)
該当のソースコード
java
1String la = FileName+"."+str; //FileNameはテキストボックス内の文字をgetText()で取得 2//strはbyte[] b1で受信した文字をdis.read(b1); str = new String(b1, "UTF-8");でString型に変換した後格納 3//strは送信側で指定された拡張子を格納(jpg、bmpなど) 4a = "C:/Users/REN/Desktop/Bitmap_Cliant/"+ la; 5System.out.println(a);// C:/Users/ユーザ名/デスクトップ/Bitmap_Cliant/FaleNameの値.strに格納してる拡張子名 が出力されます 6 7File newfile = new File(a); 8 try{ 9 newfile.createNewFile(); 10 }catch(IOException e){ 11 System.out.println(e); 12 } 13FileOutputStream fos = new FileOutputStream(a); //ここが118行目になります
試したこと
ソースコードでC:/Users/ユーザ名/デスクトップ/Bitmap_Cliant/123.jpg
などのように変数を使わずに明示した上でテキストボックス内のファイル名をソースコード同じものに揃えると問題なく送受信を行えました
補足情報(FW/ツールのバージョンなど)
javac -encoding utf8 Cli.java
java -Dfile.encoding=UTF-8 Cliant
ubuntu環境下から移してwindows環境で行っているためutf-8でエンコードしてます