------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
JavaIO
IO概念:
IO流用来处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中
IO类:
File 文件类
RandomAccessFile 随机存取文件类
InputStream 字节输入流
OutputStream 字节输出流
Reader 字符输入流
Writer 字符输入流
IO流图:
如:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/*
* 复制指定文件到指定目录
*/
public class test {
public static void main(String[] args) throws IOException {
File src = new File("E:/guan.txt");
File tar = new File("F:/guan.txt");
copy(src, tar);
System.out.println("复制成功!");
}
public static void copy(File src, File tar) throws IOException {
try (InputStream is = new FileInputStream(src);
OutputStream os = new FileOutputStream(tar);) //圆括号内写打开资源的操作
{
byte[] b = new byte[1024];
int len;
while ((len = is.read(b)) != -1) {
os.write(b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
/**
* 使用缓存流,性能高些
* @author Pupil
*
*/
public class test {
public static void main(String[] args) throws Exception{
ArrayList<String> list = new ArrayList<String>();//定义集合存储Java文件的名字
File src = new File("E:\\guan\\java"); //源文件路径
File des = new File("F:\\guan\\txt"); //目的文件路径
if(!des.exists()) //判断目的文件是否存在,不存在就创建
des.mkdirs();
fileTolist(src,list); //将源文件中的Java文件的名字存入到集合中
for(String fileName : list){ //高级for循环遍历集合中Java文件的名字
writeTofile(src, des, fileName); //将源文件中的Java文件存入到目的文件夹中
}
}
/**
* 将源文件中的Java文件的名字存入到集合中
* @param file
* @param list
*/
public static void fileTolist(File file,List<String> list){
File[] files = file.listFiles(); //获取源文件夹中的文件
for(File f : files){ //遍历文件并将文件的Java文件的名字存入到集合中
list.add(f.getName());
}
}
/**
* 将源文件中的Java文件存入到目的文件夹中
* @param src
* @param des
* @param fileName
* @throws Exception
*/
public static void writeTofile(File src,File des, String fileName)throws Exception{
BufferedReader bfr = new BufferedReader(new FileReader(new File(src, fileName)));
BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(des,fileName.replace(".java", ".txt"))));
String line = null;
while((line=bfr.readLine())!=null){
bfw.write(line);
bfw.newLine();
bfw.flush();
}
bfw.close();
bfr.close();
}
}