读入与写出的字符编码一样(要得到的编码方式).
public class FileCharSet {
private LineNumberReader reader;
private FileInputStream fins;
private BufferedReader br;
FileOutputStream fos;
private String parentDir;
private String othParentDir;
// the name of this file
private String fileContent;
// The file object of this file.
private String [] fileNames;
private File file;
//得到目录下所有文件
public File[] getFiles(String parent){
this.parentDir = parent;
this.file = new File(parentDir);
if(file.isDirectory()){
this.fileNames = file.list();
return file.listFiles();
}
return null;
}
//写文件
static void writeOutput(String str, String strOutFile) {
try {
FileOutputStream fos = new FileOutputStream(strOutFile);
Writer out = new OutputStreamWriter(fos, "utf-8");
out.write(str);
out.close();
} catch (IOException e) {
e.printStackTrace();
e.printStackTrace();
}
}
//读文件
static String readInput(String strInFile) {
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(strInFile);
InputStreamReader isr = new InputStreamReader(fis,"utf-8");
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
// iCharNum += 1;
buffer.append((char) ch);
}
in.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
/**
* @param args
* @throws IOException
*/
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String parent ="D://enshiwzw//WriteMQ//testXML";
FileCharSet fileCharSet = new FileCharSet();
fileCharSet.othParentDir = parent+"new//";
File newdir = new File(fileCharSet.othParentDir);
if(!newdir.exists()){
newdir.mkdir();
}
File [] files = fileCharSet.getFiles(parent);
for (int i = 0;i<files.length;i++){
System.out.println(fileCharSet.fileNames[i]);
try {
File temp = new File(fileCharSet.othParentDir+fileCharSet.fileNames[i]);
if(!temp.exists()){
try {
temp.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
String inString =readInput(files[i].getAbsolutePath());
System.out.println(inString);
writeOutput(inString,fileCharSet.othParentDir+fileCharSet.fileNames[i]);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}