質問編集履歴

3

2019/06/19 02:00

投稿

MISHIRO
MISHIRO

スコア27

test CHANGED
File without changes
test CHANGED
@@ -65,3 +65,115 @@
65
65
  }
66
66
 
67
67
  ```
68
+
69
+
70
+
71
+
72
+
73
+ 追記2
74
+
75
+ net useをJava処理内で実行していないことが原因との指摘を受けたため、以下のサイトを参考にコードを編集し、net useを実行後、コピー処理を走らせるように変更しました。
76
+
77
+ [リンク内容](https://teratail.com/questions/90865)
78
+
79
+
80
+
81
+ すると、net useの認証処理にて、
82
+
83
+
84
+
85
+ システムエラー1312が発生しました。
86
+
87
+ 指定されたログオン セッションは存在しません。そのセッションは既に終了している可能性があります。
88
+
89
+
90
+
91
+ 終了コード: 2
92
+
93
+
94
+
95
+ というログが出力されました。
96
+
97
+
98
+
99
+ 変更後ソース
100
+
101
+ ```Java
102
+
103
+ String cmds[] = new String[] {
104
+
105
+ "net",
106
+
107
+ "use",
108
+
109
+ "IPアドレス",
110
+
111
+ "/USER:username",
112
+
113
+ "password",
114
+
115
+ };
116
+
117
+
118
+
119
+ Process p = Runtime.getRuntime().exec(cmds);
120
+
121
+ String line;
122
+
123
+
124
+
125
+ // stderr
126
+
127
+ System.out.println("*** STDERR:");
128
+
129
+ BufferedReader error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
130
+
131
+ while ((line = error.readLine()) != null) {
132
+
133
+ System.out.println(line);
134
+
135
+ }
136
+
137
+
138
+
139
+ // stdout
140
+
141
+ System.out.println("*** STDOUT:");
142
+
143
+ BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
144
+
145
+ while ((line = input.readLine()) != null) {
146
+
147
+ System.out.println(line);
148
+
149
+ }
150
+
151
+ p.waitFor();
152
+
153
+
154
+
155
+ int exitCode = p.exitValue();
156
+
157
+ System.out.println("終了コード: " + Integer.toString(exitCode));
158
+
159
+ }
160
+
161
+
162
+
163
+ Path sourcePath = Paths.get(<共有フォルダ>¥<ファイル名>);
164
+
165
+ Path destinationPath = Paths.get("c:\test\test2\b.txt");
166
+
167
+
168
+
169
+ try {
170
+
171
+ Files.copy(sourcePath,destinationPath);
172
+
173
+ } catch (IOException e) {
174
+
175
+ e.printStackTrace();
176
+
177
+ }
178
+
179
+ ```

2

2019/06/19 02:00

投稿

MISHIRO
MISHIRO

スコア27

test CHANGED
File without changes
test CHANGED
@@ -31,3 +31,37 @@
31
31
  質問
32
32
 
33
33
  Windowsの機能にて認証しているにも関わらず、アクセス拒否とログに表示されてしまうのは、Java処理内で認証処理を行わずに共有フォルダを参照しようとしているのが原因なのでしょうか?
34
+
35
+
36
+
37
+
38
+
39
+ 追記
40
+
41
+ ・エラーコード
42
+
43
+ java.nio.file.AccessDeniedException: <共有フォルダ>¥<ファイル名>
44
+
45
+
46
+
47
+ ・ソース
48
+
49
+ ```Java
50
+
51
+ Path sourcePath = Paths.get(<共有フォルダ>¥<ファイル名>);
52
+
53
+ Path destinationPath = Paths.get("c:\test\test2\b.txt");
54
+
55
+
56
+
57
+ try {
58
+
59
+ Files.copy(sourcePath,destinationPath);
60
+
61
+ } catch (IOException e) {
62
+
63
+ e.printStackTrace();
64
+
65
+ }
66
+
67
+ ```

1

2019/06/19 00:40

投稿

MISHIRO
MISHIRO

スコア27

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  実施内容
16
16
 
17
- https://www.javalife.jp/2018/04/23/java-ファイルをコピーする/
17
+ [リンク内容](https://www.javalife.jp/2018/04/23/java-ファイルをコピーする/)
18
18
 
19
19
 
20
20