ファイル取り込み・編集・出力処理
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class sourceEdit {
public static void main(String args[]){
try{
File file = new File("");
String dire="";
//引数で読み込むファイルっをフルパスで指定する
if(args.length == 0 || args[0]==null){
System.out.print("引数が不正です");
System.exit(0);
}else{
dire=args[0];
}
file = new File(dire);
//ファイルの存在チェック
if (checkBeforeReadfile(file)){
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"Shift-JIS"));
//ファイルの出力先
File rwfile = new File("D:\0_work\html\burogu.txt");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(rwfile),"UTF-8"));
String str;
//半角スペースの置き換え
String hanspace = " ";
//文末に改行の追加
String kaigyo =" ";
while((str=br.readLine()) != null){
//編集後文字列格納用変数
String result = null;
Pattern p = Pattern.compile(hanspace);
Matcher m = p.matcher(str);
if(m.find()){
//半角スペースの置き換え処理
result = m.replaceAll(" ");
}else{
//何もない時は末尾に改行だけつける
result = str;
}
bw.write(result+kaigyo);
bw.newLine();
}
br.close();
bw.close();
System.out.print("編集処理が正常に完了しました。\n");
System.out.print("ファイルの出力先はD:\0_work\dekitakotonote\test.txtです");
}else{
System.out.println("ファイルが見つからないか開けません");
}
}catch(FileNotFoundException e){
System.out.println(e);
}catch(IOException e){
System.out.println(e);
}
}
private static boolean checkBeforeReadfile(File file){
if (file.exists()){
if (file.isFile() && file.canRead()){
return true;
}
}
return false;
}
}