java的一个Decorator的小测试

来源:互联网 发布:python可以做什么 编辑:程序博客网 时间:2024/05/18 01:21

 

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();
   }
   
  }
  
 }
 
}

原创粉丝点击