1.分别使用字符流,字节流读取文件的内容,一次读一个,一次读多个。
package Week5ClassFir;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Arrays;
public class DemoFileIO {
public static void main(String[] args) throws Exception{
File file=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile\\hello.txt");
InputStream in=new FileInputStream(file);
System.out.println("---------单个输出字符流---------");
int i1=in.read();
int j=in.read();
int k=in.read();
System.out.println((char)i1);
// System.out.println((char)j);
// System.out.println((char)k);
in.close();;
System.out.println("---------多个输出字符流--------");
File file2=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile\\hello.txt");
InputStream in2=new FileInputStream(file);
int x=0;
while ((x=in2.read())!=-1){
System.out.print((char)x);
}
in2.close();
System.out.println();
System.out.println("---------字节流一次读一个---------");
File file4=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile\\hello.txt");
InputStream in4=new FileInputStream(file4);
int y=0;
while ((y=in4.read())!=-1){
System.out.print((char)y);
}
System.out.println();
System.out.println("---------字节流一次读多个---------");
File file3=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile\\hello.txt");
InputStream in3=new FileInputStream(file);
byte[] buf=new byte[8];
int len=0;
while ((len=in3.read(buf))!=-1){
}
for (int i = 0; i <buf.length; i++) {
char a= (char) buf[i];
System.out.print(a);
}
in3.close();
}
}
运行结果:
2.使用字节流实现文件的复制。
package Week5ClassFir;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class DemoCopyFile {
public static void main(String[] args) {
File file=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile2\\hello.txt");//文件-地址是pathname
File newfile=new File("C:\\Users\\15727\\Desktop\\KJ-12\\myfile2\\hello2.txt");
try {
FileInputStream fileInputStream=new FileInputStream(file);
if (newfile.createNewFile()){
FileOutputStream fileOutputStream=new FileOutputStream(newfile);
int x=0;
while ((x=fileInputStream.read())!=-1){
fileOutputStream.write(x);
}
}
}catch (Exception E){
E.printStackTrace();
}
}
}
运行结果: