
複数のemlファイルからtxtファイルへの一括変換の仕方がわかりません。
フリーソフトを使ってやったらtxtファイルになったとき文字化けしてしまい使えませんでした。
一つずつやるならemlファイルを名前をつけて保存で保存形式をtxtにすれば出来るんですが・・
それでjavaを使ってemlファイルからtxtファイルに変換するプログラムを作りたいんですが、本を読んでも見つかりませんでした。
renameToを使ってemlをtxtに変えても文字化けしてしまいました。
どのようなコマンドを使えば出来ますか??
No.2ベストアンサー
- 回答日時:
メール文章をテキストファイルに保存したいのだと判断して。
メールの文字コードはiso-2022-jp (jis)、Windowsで通常使われるのがシフトJIS(sjis)なので変換が必要です。
やってることは、*.emlをJISで読み込み、*.txtにSJISで書き込んでるだけです。
ほかに、メールヘッダを書き込まないようにしています。
import java.io.*;
class Eml2Txt{
public static void main(String[]args) throws IOException{
if (args.length < 2){
System.out.println("Usage:");
System.out.println("java [program-name] param1 param2");
System.out.println("param1: input file name (*.eml)");
System.out.println("param2: output file name (*.txt)");
return;
}
InputStreamReader reader = new InputStreamReader (new FileInputStream (args[0]), "jis");
BufferedReader breader = new BufferedReader (reader);
OutputStreamWriter writer = new OutputStreamWriter (new FileOutputStream(args[1]), "sjis");
BufferedWriter bwriter = new BufferedWriter(writer);
int c;
StringBuffer sb = new StringBuffer();
while ((c = breader.read()) != -1){
sb.append((char)c);
}
String mail = sb.toString();
String crlf2 = "\r\n\r\n";
int pos = mail.indexOf(crlf2) + crlf2.length();
bwriter.write (mail, pos, mail.length() - pos);
bwriter.close();
breader.close();
}
}
No.4
- 回答日時:
えーとそれから、Linux/Thunderbird上では、
String crlf2 = "\r\n\r\n";
は
String crlf2 = "\n\n";
にしないとだめでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
UWSCでファイルを開く方法
-
バッチファイルで文字列削除に...
-
実行時にコモンダイアログのフ...
-
テキスト(txt)→ワード(docx)へ...
-
エクセルの各セルの内容をそれ...
-
EXCEl/VBAで拡張子なしのファイ...
-
UWSCでテキストファイルを開い...
-
バッチファイル 複数ファイル...
-
COPYコマンドで結合すると余計...
-
多数のサブディレクトリ内のフ...
-
フォルダを自動作成・移動を複...
-
Excelで、大量のファイルをテキ...
-
ファイル名の特定の一文字のみ...
-
日本語名ディレクトリーから日...
-
テキストファイルで提出とは?
-
CMakeでエラーが出ます
-
accessでSQL文を使ってcsvファ...
-
拡張子を元に戻す
-
Windowsのバッチファイルを利用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
テキストファイルで提出とは?
-
多数のサブディレクトリ内のフ...
-
ファイル名の一部をbatで変更し...
-
ファイル内容の修正、行削除に...
-
拡張子を元に戻す
-
エクセルの各セルの内容をそれ...
-
psqlでエラーログをとりたい
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windows マシンでFTPバッチが動...
-
バッチファイルで文字列削除に...
-
バッチファイル 複数ファイル...
-
UWSCでテキストファイルを開い...
-
ExcelVBA テキストファイルUNIC...
-
VBSでフォルダ内のテキストファ...
-
外部exeに対しての引数受け渡し
-
accessでSQL文を使ってcsvファ...
おすすめ情報