import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.lang.reflect.Method;
import java.lang.reflect.Constructor;
import java.nio.charset.Charset;
public class gbk_2_utf8
{
static void recursiveFile(File f)
{
if (f.isDirectory())
{
for (File a : f.listFiles())
{
recursiveFile(a);
}
}
else
{
String path = f.getPath();
if (path.endsWith(".cpp") || path.endsWith(".h"))
{
String str = null;
try
(
FileInputStream fis = new FileInputStream(f);
)
{
int size = fis.available();
byte[] data = new byte[size];
fis.read(data);
str = new String(data, Charset.forName("GBK"));
}
catch (Exception e)
{
e.printStackTrace();
return;
}
try
(
FileOutputStream fos = new FileOutputStream(f);
)
{
fos.write(str.getBytes());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
recursiveFile(new File("."));
}
}