1:代码如下
public class IO {
public static void main(String[] args) throws IOException {
doReaderorWriter();
}
/**
* 这是字节流的测试,操作不方便,不能像字符流那样子一行一行的操作,而且一般需要借助byte[]
*/
public static void doStream() throws IOException{
File fileinput = new File("C:/Users/Kin.Liufu/Desktop/一点小心得/changeNote.txt");
if(!fileinput.exists()){
System.out.println("你选择的文件不存在");
}
@SuppressWarnings("resource")
FileInputStream fileInputStream = new FileInputStream(fileinput);
byte[] bt = new byte[fileInputStream.available()];
fileInputStream.read(bt);
File fileoutput = new File("C:/Users/Kin.Liufu/Desktop/一点小心得/复制/" + fileinput.getName());
File fileParent = new File(fileoutput.getParent());
if (!fileParent.exists()) {
fileParent.mkdirs();
}
@SuppressWarnings("resource")
//这里的true表示在文章最后追加数据,而不删除原本的数据
FileOutputStream fileOutputStream = new FileOutputStream(fileoutput,true);
fileOutputStream.write(bt);
System.out.println(bt.length);
}
/**
* 这是字符流的测试,能一行一行的读取数据,便于分析,而且一般不需要借助byte[]
*/
public static void doReaderorWriter() throws IOException{
FileReader fileReader = new FileReader("C:/Users/Kin.Liufu/Desktop/一点小心得/changeNote.txt");
//这里的true表示在文章最后追加数据,而不删除原本的数据
FileWriter fileWriter = new FileWriter("C:/Users/Kin.Liufu/Desktop/一点小心得/复制/abc.txt",true);
BufferedReader bt = new BufferedReader(fileReader);
PrintWriter printWriter = new PrintWriter(fileWriter);
String stringtemp = null;
while((stringtemp = bt.readLine()) != null){
printWriter.write(stringtemp);
printWriter.flush();
System.out.println(stringtemp);
}
System.out.println();
}
}