文件读取,把文件的内容读出来(InputStream)
有时候这个空间可能太小,有时候可能太大,我们需要准确的大小,这样节省空间,那么我们可以这样做:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class IOtest {
public static void main(String[] args) throws IOException {
String fileName = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
File file = new File(fileName);
int len = (int) file.length();
byte[] buffer = new byte[len];
FileInputStream in = new FileInputStream(file);
in.read(buffer);
System.out.println(new String(buffer));
}
}
文件写入,把内容写入文件(OutputStream)
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class OutIOTest {
public static void main(String[] args) throws IOException {
String fileName = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
File file = new File(fileName);
OutputStream out = new FileOutputStream(file,true); //1、多态的运用。2、true表示是对原来的文件进行追加
String str = "567";
byte[] buffer = str.getBytes(); //getBytes () 是 Java 编程语言中将一个字符串转化为一个字节数组byte []的方法
out.write(buffer);
out.close();
}
}
文件复制
import java.io.*;
public class copyFile {
public static void main(String[] args) throws IOException {
//获取被复制文件的文件名和路径名
String str1 = "C:\\Users\\DELL\\Desktop\\新建文本文档.txt";
int index = str1.lastIndexOf("\\");
String fileName = str1.substring(index+1,str1.length());
String pathName = str1.substring(0,index);
//从被复制的文件得到copy文件的存放路径
String str2 = pathName+"\\(副本)"+fileName;
File file1 = new File(str1);
File file2 = new File(str2);
InputStream in = new FileInputStream(file1);
OutputStream out = new FileOutputStream(file2);
int temp;
while ((temp=in.read())!=-1){
System.out.println((String.valueOf(temp)));
out.write(temp); //temp是十进制的ASCII编码,结束的时候会返回-1。
}
out.close();
in.close();
}
}