InputStream in =newFileInputStream("E:/a.txt");OutputStream out =newFileOutputStream("E:/aa.txt");int c =0;while((c = in.read())!=-1){
out.write(c);}
in.close();
out.close();
3.3、FileReader(文件字符输入流)
FileReader是一字符为单位读取文件,也就是一次读取两个字节,如:
Reader r =newFileReader("E:/a.txt");int c =0;while((c = r.read())!=-1){char ch =(char)c;System.out.println(ch);}
r.close();
【打印指定内容】
Writer w =newFileWriter("E:/aaa.txt",true);
w.write("你好,这是个bug。。。。\n");
w.write("你好,这是个bug。。。。\n");
w.write("你好,这是个bug。。。。\n");
w.write("你好,这是个bug。。。。\n");
w.close();
BufferedInputStream bis =newBufferedInputStream(newFileInputStream("E:/aaa.txt"));int b =0;while((b = bis.read())!=-1){System.out.println(b);}
bis.close();
BufferedInputStream bis =newBufferedInputStream(newFileInputStream("E:/a.txt"));BufferedOutputStream bout =newBufferedOutputStream(newFileOutputStream("E:/aaa.txt"));int b =0;while((b = bis.read())!=-1){
bout.write(b);}
bout.flush();//手动刷新缓存
bis.close();
bout.close();
importjava.io.*;publicclassBufferedReaderTest01{publicstaticvoidmain(String[] args){BufferedReader r =null;BufferedWriter w =null;try{
r =newBufferedReader(newFileReader("c:\\test.txt"));
w =newBufferedWriter(newFileWriter("d:\\test.txt.bak"));String s =null;while((s = r.readLine())!=null){
w.write(s);//w.write("\n");//可以采用如下方法换行
w.newLine();}System.out.println("文件复制完毕!");}catch(FileNotFoundException e){
e.printStackTrace();}catch(IOException e){
e.printStackTrace();}finally{try{if(r !=null){
r.close();}if(w !=null){//在close前会先调用flush
w.close();}}catch(IOException e){}}}}
java.io.InvalidClassException:com.test.People; local class incompatible: stream classdesc serialVersionUID =1, local class serialVersionUID =2
at java.base/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:689)
at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2023)
at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1873)
at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2180)
at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1690)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:499)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:457)
at com.test.FileTest.test21(FileTest.java:264)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)