回答編集履歴
3
再々修正
test
CHANGED
@@ -2,13 +2,37 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
元のコードで同じ問題が発生することを確認しました。
|
5
|
+
元のコードで同じ問題が発生することを確認しました。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
lockファイルの送信後にはステータス150が返されています。
|
10
10
|
|
11
|
+
これはデータコネクション(ファイル転送のためのコネクション)が確立した状態のままになっていて、転送が完了していないということなのではないかと思います。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
正しい解決方法かどうか自信がありませんが、lockファイルの転送後に`ftpClient.getReply();`を入れることで、転送が終わったことを通知できるようです。つまり、`226 Transfer Complete`になります。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
```lang-java
|
22
|
+
|
23
|
+
//ロックファイル作成
|
24
|
+
|
25
|
+
OutputStream out = ftpClient.storeFileStream("0001.lock");
|
26
|
+
|
27
|
+
out.close();
|
28
|
+
|
11
|
-
|
29
|
+
ftpClient.getReply(); // ◆◆ ここ ◆◆
|
30
|
+
|
31
|
+
```
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
12
36
|
|
13
37
|
|
14
38
|
|
2
printFtpReplyの件を追記
test
CHANGED
@@ -6,15 +6,9 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
参考にされたコードの`printFtpReply`を消してしまったのが問題のようです。
|
10
10
|
|
11
|
-
これはデータコネクション(ファイル転送のためのコネクション)が確立した状態のままになっていて、転送が完了していないということなのではないかと思います。
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
正しい解決方法かどうか自信がありませんが、ファイルの転送後(`OutputStream#close`の後)に`ftpClient.getReply();`を入れることで、転送が終わったことを通知できるようです。つまり、`226 Transfer Complete`になります。
|
16
|
-
|
17
|
-
|
11
|
+
`ftpClient.getReplyCode()`をすることに意味があるのだと思います。
|
18
12
|
|
19
13
|
|
20
14
|
|
1
getReply()を追記
test
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
(追記)
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
元のコードで同じ問題が発生することを確認しました。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
lockファイルの送信後にはステータス150が返されています。
|
10
|
+
|
11
|
+
これはデータコネクション(ファイル転送のためのコネクション)が確立した状態のままになっていて、転送が完了していないということなのではないかと思います。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
正しい解決方法かどうか自信がありませんが、ファイルの転送後(`OutputStream#close`の後)に`ftpClient.getReply();`を入れることで、転送が終わったことを通知できるようです。つまり、`226 Transfer Complete`になります。
|
16
|
+
|
17
|
+
念のため、`UPLOAD_FILE`の後にも入れておいた方が良いですね。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
(最初の回答)
|
26
|
+
|
27
|
+
|
28
|
+
|
1
29
|
下記ページにあるように、それぞれの処理後に`ftpClient.getReplyString()`を出力して、応答の内容を確認してみてください。
|
2
30
|
|
3
31
|
[JavaでFTPアップロードを行う。 - sinsengumi血風録](http://sinsengumi.net/blog/2011/02/java%E3%81%A7ftp%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%82%92%E8%A1%8C%E3%81%86%E3%80%82/)
|