File的构造方式1:
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1\\test.txt”); Syste_m.e_rr.println(file1); } |
---|
输出:T:\2020年春逆战\第一周-IO、多线程、网络通信\1-IO-1\test.txt |
注意:不存在的文件也不会报错,前提是不进行读写操作的时候。
public static void main(String[] args) { File file = new File(“T:\\2020年春逆战\\第一周-IO、多线程、网络通信\\1-IO-1”); File file1 = new File(file, “test.txt”); Syst_em._err.println(file1); } |
---|
第三个:
public static void main(String[] args) { File file1 = new File(“T:\\2020年春逆战\\第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); Syste_m.e_rr.println(file1); } |
---|
InputStream读取文件
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); InputStream inputStream=new FileInputStream(file1); byte[] bytes=new byte[1024];// 开辟一个1024长度的字节数组,拿来存读取的数据 int read = inputStream.read(bytes);// 把读到的字节数据,存到数组中,得到实际读取到的字节数 Sy_ste_m.err.println(read); S_yst_em.err.println(new String(bytes,0,read));// 生成字符串 } |
---|
OutputStream输出文件
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); FileOutputStream fileOutputStream = new FileOutputStream(file1, true);//追加内容 String s = “各位帅哥,早上好2!”; fileOutputStream.write(s.getBytes()); } |
---|
文件字符输入流:
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); Reader reader = new FileReader(file1); int read = reader.read();// 这个是字符对应的数字 char c = (char) read; Sy_ste_m.err.println(c); } |
---|
FileWriter
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); Reader reader = new FileReader(file1); int read = reader.read();// 这个是字符对应的数字 char c = (char) read; Sy_ste_m.err.println(c); reader.close(); Writer writer = new FileWriter(file1); writer.append(“R闪”); writer.flush(); writer.close(); } |
---|
文件的复制
public static boolean copy(File originFile) throws Exception { if (originFile == null) { throw new Exception(“源文件不能为空!”); } String newFileName = originFile.getName().substring(0, originFile.getName().lastIndexOf(“.”)) + “-副本” + originFile.getName().substring(originFile.getName().lastIndexOf(“.”)); File newFile = new File(originFile.getParent(), newFileName); FileInputStream fileInputStream = new FileInputStream(originFile); FileOutputStream fileOutputStream = new FileOutputStream(newFile); byte[] bytes = new byte[1024]; while (-1 != fileInputStream.read(bytes)) { fileOutputStream.write(bytes); } return true; } |
---|
输入转换流:
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); InputStream inputStream = new FileInputStream(file1); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); char[] chars = new char[1024]; inputStreamReader.read(chars); _Sys_tem.err.println(new String(chars)); } |
---|
输出转换流:
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); OutputStream outputStream = new FileOutputStream(file1); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); outputStreamWriter.write(“我让你追,追到就让你嘿嘿嘿!”); outputStreamWriter.close(); } |
---|
缓冲流的标记和重读
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); InputStream inputStream = new FileInputStream(file1); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); byte[] bytes = new byte[10]; int len= bufferedInputStream.read(bytes); Sys_tem.err.println(new String(bytes,0,len)); bufferedInputStream.mark(99); byte[] bytes2 = new byte[10]; int len2= bufferedInputStream.read(bytes2); System.err.println(new String(bytes2,0,len2)); bufferedInputStream.reset(); byte[] bytes3 = new byte[10]; int len3= bufferedInputStream.read(b_yte_s3); System.err.println(new String(bytes3,0,le_n3)); System.err.println(bufferedInputStream.markSupported()); } |
---|
缓冲输出流
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); OutputStream outputStream = new FileOutputStream(file1); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream); bufferedOutputStream.write(“我”.getBytes());// 输出单个字符 bufferedOutputStream.close(); } |
---|
字符缓冲输入流
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); FileReader fileReader = new FileReader(file1); BufferedReader bufferedReader = new BufferedReader(fileReader); String s = bufferedReader.readLine(); Sy_ste_m.err.println(s); } |
---|
字符缓冲输出流
public static void main(String[] args) throws Exception { File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”); FileWriter fileWriter = new FileWriter(file1); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.append(“今天天气很好,但是我还是不会出去浪”); bufferedWriter.flush();// 刷新缓冲区 bufferedWriter.close(); } |
---|