Java 書き込みファイルが文字化けする
ファイル ストリームを読み書きするときに、当然のことですが、コード化けの原因は同じではない ここでは、ファイルのエンコード形式に起因するコード化けの問題を中心に紹介します。まず、テキスト ファイルとバイナリ ファイルの概念と違いを明確にしましょう。
テキスト ファイルは文字エンコーディングに基づいたファイルです。一般的なエンコーディングには、ASCII エンコーディング、UNICODE エンコーディング、ANSI エンコーディングなどが含まれます。バイナリ ファイルは値のエンコードに基づいたファイルであり、特定のアプリケーションに応じて特定の値が何を意味するかを指定できます (このようなプロセスはカスタム エンコードとみなすことができます)
したがって、テキスト ファイルは基本的に固定長エンコードです(UTF-8などの非固定長エンコードもあります)。バイナリ ファイルは値エンコードであるため、可変長エンコードとみなすことができ、値を何ビットで表すかは完全にユーザー次第です。
具体的な操作は次のとおりです。
ファイルで指定された形式でファイルを書き込みます。
/** * 按照指定的路径和编码格式保存文件内容,这个方法因为用到了字符串作为载体,为了正确写入文件(不乱码),只能写入文本内容,安全方法 * * @param data * 将要写入到文件中的字节数据 * @param path * 文件路径,包含文件名 * @return boolean * 当写入完毕时返回true; */ public static boolean writeFile(byte data[], String path , String code){ boolean flag = true; OutputStreamWriter osw = null; try{ File file = new File(path); if(!file.exists()){ file = new File(file.getParent()); if(!file.exists()){ file.mkdirs(); } } if("asci".equals(code)){ code = "GBK"; } osw = new OutputStreamWriter(new FileOutputStream(path),code); osw.write(new String(data,code)); osw.flush(); }catch(Exception e){ e.printStackTrace(); log.info("toFile IO Exception:"+e.getMessage()); flag = false; }finally{ try{ if(osw != null){ osw.close(); } }catch(IOException e){ e.printStackTrace(); log.info("toFile IO Exception:"+e.getMessage()); flag = false; } } return flag; }
php 中国の Web サイトには無料の Java 入門書が多数あります。チュートリアル、オンライン学習を歓迎します!
以上がJava が文字化けしたファイルを書き込むの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版
ビジュアル Web 開発ツール
