1、IO字符流读写文件(BufferedReader-PrintWriter)
BUfferedInputStream br = new BufferedInputStream(new fileReader("D:/1.txt"));
PrintWriter pw = new PrintWriter(new bufferedWriter(new bufferedWriter(new fileWriter("D:/2.txt"))));
String str = br.readLine();
while(str != null){
pw.println(str);
str = br.readLine();
}
br.close();
pw.close();
2、IO字符流读写文件(BufferedReader-BuferedWriter)
BufferedReader br = new BufferedReader(new FileReader("D:/1.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("D:/2.txt"));
String str = br.readLine();
while(str != null){
bw.write(str);
bw.newLine();
str = br.readLine();
}
br.close();
3、IO字节流读写文件(BufferedInputStream-BufferedOutputStream)
InputStream is = new FileInputStream("d:/1.txt");
OutputStream os = new FileOutputStream("D:/2.txt");
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
byte[] buf = new byte[1024];
int len = bis.read(buf);
while(len != -1){
bos.write(buf,0,len);
len = bis.read(buf);
}
bos.flush();
bos.close();
bis.close();
is.close();
os.close();
4、IO字节流复制文件夹
public void copyFolder(String sourceDir,String destDir)throws IOException{
//获取源文件
File sDir = new File(sourceDir);
//创建目标文件
File dDir= new File(destFile);
if(!dDir.exists()){
dDir.mkdir();
}
//复制源文件下所有文件到目标文件
File[] files = sDir.listFiles();
for(file file : files){
//如果是文件就复制
if(file.isFile()){
copyFile(file.getAbsolutePath(),destDir+"/"+file.getName());
}
if(file.isDirectory()){
copyFolder(file.getAbsolutePath(),destDir+"/"+file.getName());
}
}
}
/***InputStream+BUfferedOutputStream***/
private static void copyFile(String sFile, String dFile) throws IOException {
// TODO Auto-generated method stub
InputStream is = new FileInputStream(sFile);
OutputStream os = new FileOutputStream(dFile);
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
byte[] buff = new byte[1024];
int len = bis.read(buff);
while(len != -1)
{
bos.write(buff,0,len);
len = bis.read(buff);
}
bos.flush();
bos.close();
bis.close();
is.close();
os.close();
}
/**FileReader+FileWriter会出现乱码**/
public static void copyFile2(String sFile,String dFile) throws IOException{
FileReader fileReader = new FileReader(sFile);
FileWriter fileWriter = new FileWriter(dFile);
char[] buff = new char[1024];
int len = fileReader.read(buff);
while(len != -1)
{
fileWriter.write(buff,0,len);
len = fileReader.read(buff);
}
fileWriter.flush();
fileWriter.close();
fileReader.close();
}
public static void copyFile3(String sFile,String dFile) throws IOException{
/***需要解决乱码问题*/
InputStreamReader inReader = new InputStreamReader(new FileInputStream(sFile),"GBK");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(dFile),"GBK");
BufferedReader buReader2 = new BufferedReader(inReader);
BufferedWriter buWriter2 = new BufferedWriter(writer);
String string2 = buReader2.readLine();
while(string2 != null)
{
buWriter2.write(string2);
buWriter2.newLine();
string2 = buReader2.readLine();
}
buWriter2.close();
buReader2.close();
inReader.close();
writer.close();
}