teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

2019/06/19 02:00

投稿

MISHIRO
MISHIRO

スコア27

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,60 @@
31
31
  } catch (IOException e) {
32
32
  e.printStackTrace();
33
33
  }
34
+ ```
35
+
36
+
37
+ 追記2
38
+ net useをJava処理内で実行していないことが原因との指摘を受けたため、以下のサイトを参考にコードを編集し、net useを実行後、コピー処理を走らせるように変更しました。
39
+ [リンク内容](https://teratail.com/questions/90865)
40
+
41
+ すると、net useの認証処理にて、
42
+
43
+ システムエラー1312が発生しました。
44
+ 指定されたログオン セッションは存在しません。そのセッションは既に終了している可能性があります。
45
+
46
+ 終了コード: 2
47
+
48
+ というログが出力されました。
49
+
50
+ 変更後ソース
51
+ ```Java
52
+ String cmds[] = new String[] {
53
+ "net",
54
+ "use",
55
+ "IPアドレス",
56
+ "/USER:username",
57
+ "password",
58
+ };
59
+
60
+ Process p = Runtime.getRuntime().exec(cmds);
61
+ String line;
62
+
63
+ // stderr
64
+ System.out.println("*** STDERR:");
65
+ BufferedReader error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
66
+ while ((line = error.readLine()) != null) {
67
+ System.out.println(line);
68
+ }
69
+
70
+ // stdout
71
+ System.out.println("*** STDOUT:");
72
+ BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
73
+ while ((line = input.readLine()) != null) {
74
+ System.out.println(line);
75
+ }
76
+ p.waitFor();
77
+
78
+ int exitCode = p.exitValue();
79
+ System.out.println("終了コード: " + Integer.toString(exitCode));
80
+ }
81
+
82
+ Path sourcePath = Paths.get(<共有フォルダ>¥<ファイル名>);
83
+ Path destinationPath = Paths.get("c:\test\test2\b.txt");
84
+
85
+ try {
86
+ Files.copy(sourcePath,destinationPath);
87
+ } catch (IOException e) {
88
+ e.printStackTrace();
89
+ }
34
90
  ```

2

2019/06/19 02:00

投稿

MISHIRO
MISHIRO

スコア27

title CHANGED
File without changes
body CHANGED
@@ -14,4 +14,21 @@
14
14
  ※net useを用いたバッチを実行しているため、認証に失敗している可能性はありません。
15
15
 
16
16
  質問
17
- Windowsの機能にて認証しているにも関わらず、アクセス拒否とログに表示されてしまうのは、Java処理内で認証処理を行わずに共有フォルダを参照しようとしているのが原因なのでしょうか?
17
+ Windowsの機能にて認証しているにも関わらず、アクセス拒否とログに表示されてしまうのは、Java処理内で認証処理を行わずに共有フォルダを参照しようとしているのが原因なのでしょうか?
18
+
19
+
20
+ 追記
21
+ ・エラーコード
22
+ java.nio.file.AccessDeniedException: <共有フォルダ>¥<ファイル名>
23
+
24
+ ・ソース
25
+ ```Java
26
+ Path sourcePath = Paths.get(<共有フォルダ>¥<ファイル名>);
27
+ Path destinationPath = Paths.get("c:\test\test2\b.txt");
28
+
29
+ try {
30
+ Files.copy(sourcePath,destinationPath);
31
+ } catch (IOException e) {
32
+ e.printStackTrace();
33
+ }
34
+ ```

1

2019/06/19 00:40

投稿

MISHIRO
MISHIRO

スコア27

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  ServerAの共有フォルダ内に置かれたファイルをServerBのローカルフォルダへコピーしたい。
7
7
 
8
8
  実施内容
9
- https://www.javalife.jp/2018/04/23/java-ファイルをコピーする/
9
+ [リンク内容](https://www.javalife.jp/2018/04/23/java-ファイルをコピーする/)
10
10
 
11
11
  上記サイトを参考に、ファイルパスを設定し、実行しましたところ、
12
12
  ログにて、アクセス拒否と表示され、コピーに失敗しました。