
複数の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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- その他(パソコン・スマホ・電化製品) ウイルスバスターの制限解除方法 1 2022/08/09 22:08
- iOS ファイルの名前変更 2 2022/08/11 20:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
多数のサブディレクトリ内のフ...
-
VBAでワークシートを引数として...
-
Windowsのバッチファイルを利用...
-
リモートのファイル存在確認
-
バッチファイル 複数ファイル...
-
テキストファイルで提出とは?
-
renameコマンドについて
-
エクセルの各セルの内容をそれ...
-
VBSでフォルダ内のテキストファ...
-
ファイル名の一部をbatで変更し...
-
ファイルを処理中に次の処理に...
-
【C++】 ファイルの名前を変更...
-
外部exeに対しての引数受け渡し
-
COPYコマンドで結合すると余計...
-
ファイルの最後に文字列挿入
-
Excel VBAの文字列と数値の分類
-
【csh】ファイルの中の値を配列...
-
バッチ(bat)でリストファイルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
拡張子を元に戻す
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
psqlでエラーログをとりたい
-
COPYコマンドで結合すると余計...
-
エクセルの各セルの内容をそれ...
-
バッチファイルで文字列削除に...
-
ファイルの最後に文字列挿入
-
UWSCでテキストファイルを開い...
-
バッチファイル 複数ファイル...
-
renameコマンドについて
-
ファイル名の一部をbatで変更し...
-
forfilesで検索したファイルを...
-
外部exeに対しての引数受け渡し
-
Windowsのバッチファイルを利用...
-
VBSでフォルダ内のテキストファ...
-
VBAでエクセルをtxtに変換する...
-
ExcelVBA テキストファイルUNIC...
おすすめ情報