package com.cn;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.Charset;
public class Demo4 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
/*
String st = new String("中国");
byte[] by = st.getBytes(Charset.forName("utf-8"));
System.out.println(by.length);
System.out.println(new String(by,Charset.forName("utf-8")));
System.out.println((char)'a');
System.out.println(Integer.toBinaryString(127).substring(0, 7));
int nu = -12458;
byte[] by2 = new byte[4];
for (int i = 0; i < by2.length; i++) {
by2[i] = (byte)nu;
nu = nu >> 8;
}
int tmp = 0;
int nn = 0;
for (int i = by2.length-1; i >= 0; i--) {
nn = nn | ( by2[i] & 0xff);
tmp = nn;
nn = nn << 8;
}
System.out.println(tmp);
File file = new File("D:\\LenovoDrivers");
String[] ass = file.list();
for (int i = 0; i < ass.length; i++) {
showName(new File(file.getAbsolutePath()+ "\\"+ass[i]),0);
}
System.out.println();
// System.out.println(new File("c:/win/xixihaha.txt").isFile());
}
public static void showName(File file,int level) throws Exception{
if (file.isFile()) {
System.out.println(level(level)+file.getName());
return;
}
if (file.isDirectory()) {
System.out.println(level(level)+file.getName());
if (file.listFiles() == null)
return;
File[] ff = file.listFiles();
++level;
for (int i = 0; i < ff.length; i++) {
showName(ff[i],level);
}
};
*/
copy( new File("c:/A"), new File("c:/B"));
// File refile = new File(src);
// File wrfile = new File(des);
// System.out.println(11);
}
private static void copy(File file, File des) throws Exception {
if (file.isFile()) {
System.out.println(file.getName());
copyFile(file,new File(des.getAbsolutePath()+"\\" + file.getName()));
return;
}
if (file.isDirectory()) {
//System.out.println(file.getName());
System.out.println(new File(des.getAbsolutePath()+"/" + file.getName()));
des = new File(des.getAbsolutePath()+"/" + file.getName());
des.mkdir();
if (file.listFiles() == null)
return;
File[] ff = file.listFiles();
for (int i = 0; i < ff.length; i++) {
//System.out.println(ff.length);
copy(ff[i],des);
}
}
}
public static void copyFile(File refile, File wrfile) throws Exception {
// File refile = new File("c:/A");
// File wrfile = new File("c:/B");
byte[] by = new byte[1024];
FileInputStream fis = new FileInputStream(refile);
BufferedInputStream bip = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(wrfile);
BufferedOutputStream bos = new BufferedOutputStream(fos);
int ln = 0;
while ((ln = bip.read(by)) != -1) {
bos.write(by, 0, ln);
}
bip.close();
fis.close();
bos.close();
fos.close();
}
public static String level(int nu) {
String s = "";
for (int i=0 ; i< nu ; ++i) {
s += "\t";
}
return s;
}
}