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

132: (テテンテンテン MM0e-c/TO) 2023/02/26(日)02:49:11.03 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
とエラーが表示されるので、もう少し調べてみます。
187: (テテンテンテン MM26-uluY) 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.884s*