★★Java質問・相談スレッド184★★ (371レス)
前次1-
抽出解除 レス栞

132: デフォルトの名無しさん (テテンテンテン MM0e-c/TO) [] 2023/02/26(日) 02:49:11.03 ID:F7MFR7BvM(2/2) AAS
>>131
131(1): デフォルトの名無しさん (ワッチョイ b18f-eFGh) [] 2023/02/26(日) 02:18:47.80 ID:B5iNMzdY0(1/2) AAS
filterとtoArrayを;で分けてるのが良くない、つなげるんだよ、つなげればきっとうまくいく
ありがとうございます。
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
とエラーが表示されるので、もう少し調べてみます。
187: デフォルトの名無しさん (テテンテンテン MM26-uluY) [sage] 2023/03/25(土) 21:57:39.03 ID:CsLeeAHHM(1) AAS
一応枝葉の部分を拾っておくと、java.nio.charset.Charset(やCharsetEncoder)あたりを使えば
Stringを介さずにBuffer(バイト列)のままShift_JIS(あるいはWindows-31J) -> UTF-16 -> UTF-8と変換することは出来る
巨大なデータとかメモリマップファイルとかでもなければStringを介するほうが楽でよいと思うけど(どちらにせよUTF-16経由になるし)

あとおそらくcharsetはShift_JISではなくWindows-31Jを使う方が望ましい結果が得られる可能性が高いかと
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.611s*