import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.io.StringWriter;
public class DecoratorTest {
public static void main(String[] args) {
//这是一个包装类的测试
// try {
// throw new Exception("this is test");
// } catch (Exception e) {
// StringWriter sw = new StringWriter();
// PrintWriter pw = new PrintWriter(sw);
// e.printStackTrace(pw);
// System.out.println(sw.toString());
// System.out.println(e.getMessage());
// }
// try {
// InputStreamReader inputStreamReader = new InputStreamReader(System.in, "iso8859-1");
// BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// String strLine = bufferedReader.readLine();
// for (int i = 0; i < strLine.length(); i++) {
// System.out.println(Integer.toHexString((int)(strLine.charAt(i))));
// }
// System.out.println(new String(strLine.getBytes("iso8859-1"),"gb2312"));
// } catch (Exception e) {
// e.printStackTrace();
// }
//这是第一个例子
// StringReader stringReader = new StringReader("曹欢abcd");
// int ch ;
// StringBuffer buffer = new StringBuffer();
// try {
// while((ch = stringReader.read()) != -1)
// {
//
// buffer.append(Character.toUpperCase((char)ch));
// }
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// StringWriter stringWriter = new StringWriter();
// stringWriter.write(buffer.toString());
// System.out.println(stringWriter.toString());
//这是第二个例子
File file = new File("D:\\javatest\\test");
File [] files = file.listFiles();
String str = null;
StringBuffer buffer = new StringBuffer();
for (File file1 : files) {
if(!file1.isFile())
{
File[] files2 = file1.listFiles();
for (File file2 : files2) {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file2)));
while((str = bufferedReader.readLine()) != null)
{
buffer.append(str);
}
}catch (Exception e) {
e.printStackTrace();
}
}
}else
{
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file1)));
while((str = bufferedReader.readLine()) != null)
{
buffer.append(str);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
int count = buffer.toString().getBytes().length;
int fileCount = (count%1024 == 0) ? (count/1024) : (count/1024 + 1);
System.out.println(fileCount);
for (int i = 0; i < fileCount; i++) {
try {
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(i + ".txt")));
if(i == (fileCount-1))
{
bufferedWriter.write(buffer.toString(), (i*512), buffer.toString().length()-i*512);
}else
{
bufferedWriter.write(buffer.toString(), (i*512), 512);
}
bufferedWriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}