★★Java質問・相談スレッド184★★ (371レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
130: (テテンテンテン MM0e-c/TO) 2023/02/26(日)00:02 ID:F7MFR7BvM(1/2)調 AAS
フォルダの中にある各ファイルを対象とした処理を書きたいのですが、
File[] inputFiles = stream.toArray(File[]::new);
の行で
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
がでます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
stream.filter(Files::isRegularFile);
File[] inputFiles = stream.toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}
} catch (IOException e) { e.printStackTrace(); }
が試そうとしているコードになりますが、stream以外を使用するべきでしょうか?
132: (テテンテンテン MM0e-c/TO) 2023/02/26(日)02:49 ID:F7MFR7BvM(2/2)調 AAS
>>131
ありがとうございます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
File[] inputFiles = stream.filter(Files::isRegularFile).toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}}
のように、つなげて?書いてみたのですが
Exception in thread "main" java.lang.ArrayStoreException: arraycopy: element type mismatch: can not cast one of the elements of java.lang.Object[] to the type of the destination array, java.io.File
とエラーが表示されるので、もう少し調べてみます。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s