日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

018IO流

發(fā)布時間:2024/3/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 018IO流 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

I/O流

文件字節(jié)輸入流 FileInputStream

package com.stream;import java.io.FileInputStream;/*** 文件輸入流* FileInputStream*/ public class Demo01 {public static void main(String[] args) throws Exception {FileInputStream fileInputStream = new FileInputStream("d:\\File.txt");//單個字節(jié)讀取System.out.println("單個字節(jié)==================="); // int data = 0; // // while ((data = fileInputStream.read()) != -1) { // System.out.print((char) data); // }//多個字節(jié)讀取 // System.out.println("多個字節(jié)==================="); // byte[] bytes = new byte[3]; // // int read = fileInputStream.read(bytes); // System.out.println(read); // System.out.println(new String(bytes)); // // int read1 = fileInputStream.read(bytes); // System.out.println(read1); // System.out.println(new String(bytes)); // // fileInputStream.close(); // System.out.println("執(zhí)行完畢");//多個字節(jié) 循環(huán)讀取byte[] bytes = new byte[1024];int count = 0;while ((count = fileInputStream.read(bytes)) != -1) {System.out.println(new String(bytes,0,count));}} }

文件字節(jié)輸出流 FileOutputStream

package com.stream;import java.io.FileOutputStream;/*** 文件輸出流的使用* FileOutputStream*/ public class Demo02 {public static void main(String[] args) throws Exception {FileOutputStream fileOutputStream = new FileOutputStream("d:\\FileOutputStream.txt", true);// fileOutputStream.write(97); // fileOutputStream.write('b'); // fileOutputStream.write('c');String string = "Hello World";fileOutputStream.write(string.getBytes());fileOutputStream.close();} }

文件的拷貝(輸入流讀取–>輸出流寫出)

package com.stream;import java.io.FileInputStream; import java.io.FileOutputStream;/*** 輸入輸出流進行copy*/ public class Demo03 {public static void main(String[] args) throws Exception {FileInputStream fileInputStream = new FileInputStream("d:\\t1.png");FileOutputStream fileOutputStream = new FileOutputStream("d:\\t2.png");byte[] bytes = new byte[1024];int count = 0;while ((count = fileInputStream.read(bytes)) != -1) {fileOutputStream.write(bytes, 0 , count);}fileInputStream.close();fileOutputStream.close();} }

字節(jié)緩沖流輸入 BufferedInputStream

package com.stream.Buffered;import java.io.BufferedInputStream; import java.io.FileInputStream;/*** @ClassName Demo01* @Description 字節(jié)緩沖流輸入* @Author AOA* @Date 2021/1/13 14:31* Version 1.0**/ public class Demo01 {public static void main(String[] args) throws Exception {FileInputStream fileInputStream = new FileInputStream("d:\\File.txt");BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);// int date = 0; // // while ((date = bufferedInputStream.read()) != -1) { // System.out.print((char)date); // }byte[] bytes = new byte[10];int count = 0;while ((count = fileInputStream.read(bytes)) != -1) {System.out.print(new String(bytes, 0, count));}bufferedInputStream.close();fileInputStream.close();} }

字節(jié)緩沖流輸出 BufferedOutputStream

package com.stream.Buffered;import java.io.BufferedOutputStream; import java.io.FileOutputStream;/*** @ClassName Demo02* @Description 字節(jié)緩沖流 輸出 BufferedOutputStream* @Author AOA* @Date 2021/1/13 15:07* Version 1.0**/ public class Demo02 {public static void main(String[] args) throws Exception {//創(chuàng)建字符緩沖流FileOutputStream fileOutputStream = new FileOutputStream("d:\\buffered.txt", true);BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);//寫入for (int i = 0; i < 2; i++) {bufferedOutputStream.write("Hello Worled\r\n".getBytes());//寫入緩沖區(qū)bufferedOutputStream.flush();//刷新,從緩沖區(qū)寫入硬盤}//關閉字節(jié)緩沖流,close()里面自帶flush()方法bufferedOutputStream.close();} } ```## 對象輸出流 ObjectOutputStream (序列化) 過濾流```java package com.stream.ObjectStream;import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.util.ArrayList;/*** @ClassName Demo01* @Description ObjectOutputStream對象輸出流,序列化操作* 注意事項:* (1)序列化類需要實現(xiàn)Serializable接口* (2)序列化類中的對象屬性也要求實現(xiàn)Serializable接口* (3)序列化版本號:確保序列化的類和反序列化的類是同一個類* (4)使用transient修飾的對象屬性,無法被序列化* (5)靜態(tài)屬性無法被序列化* (6)序列化多個對象使用集合* @Author AOA* @Date 2021/1/13 15:52* Version 1.0**/ public class Demo01 {public static void main(String[] args) throws Exception{//對象流FileOutputStream stream = new FileOutputStream("d:\\stu.bin");ObjectOutputStream outputStream = new ObjectOutputStream(stream);Student s1 = new Student("張三", 18);Student s2 = new Student("李四", 20);//寫入 // outputStream.writeObject(s1);ArrayList<Student> list = new ArrayList<>();list.add(s1);list.add(s2);outputStream.writeObject(list);outputStream.flush();//關閉outputStream.close();System.out.println("序列化完畢");} } ```## 對象輸入流 ObjectInputStream (反序列化) 過濾流```java package com.stream.ObjectStream;import java.io.FileInputStream; import java.io.ObjectInputStream;/*** @ClassName Demo02* @Description TODO* @Author AOA* @Date 2021/1/13 16:18* Version 1.0**/ public class Demo02 {public static void main(String[] args) throws Exception{//創(chuàng)建對象流FileInputStream f = new FileInputStream("d:\\stu.bin");ObjectInputStream inputStream = new ObjectInputStream(f);//讀取對象,(反序列化) // Object o = inputStream.readObject();Object o = inputStream.readObject();System.out.println(o.toString());//關閉inputStream.close();System.out.println("反序列化完畢");} ```## 字符輸入流 FileReader```java package com.stream.FileReader;import java.io.FileReader;/*** @ClassName Demo01* @Description 字符輸入流 FileReader* @Author AOA* @Date 2021/1/14 16:11* Version 1.0**/ public class Demo01 {public static void main(String[] args) throws Exception {//創(chuàng)建字符流FileReader fileReader = new FileReader("d:\\work\\hello.txt");//讀取//單個字符讀取 // int data = 0; // while ((data = fileReader.read()) != -1) { // System.out.print((char) data); // }//多個字符讀取char[] chars = new char[1024];int count = 0;while ((count = fileReader.read(chars)) != -1) {System.out.println(new String(chars, 0 , count));}//關閉fileReader.close();} } ```## 字符輸出流 FileWriter```java package com.stream.FileReader;import java.io.FileWriter;/*** @ClassName Demo02* @Description FileWriter 字符輸出流* @Author AOA* @Date 2021/1/14 16:49* Version 1.0**/ public class Demo02 {public static void main(String[] args) throws Exception{//創(chuàng)建FileWriter fileWriter = new FileWriter("d:\\work\\write.txt");//寫出for (int i = 0; i < 3; i++) {fileWriter.write("你好嗎?\r\n");fileWriter.flush();}//關閉fileWriter.close();} } ```## 字符流 FileReader 和 FileWriter 復制文本文件```java package com.stream.FileReader;import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;/*** @ClassName Demo03* @Description* (1)FileWriter和Fileeader只能復制文本文件,不可以復制字節(jié)文件和二進制文件* (2)使用字節(jié)流可以復制任意文件* @Author AOA* @Date 2021/1/15 14:22* Version 1.0**/ public class Demo03 {public static void main(String[] args) throws IOException {//創(chuàng)建字符流FileReader fileReader = new FileReader("d:\\work\\write.txt");FileWriter fileWriter = new FileWriter("d:\\work\\write2.txt");//復制int data = 0;while ((data = fileReader.read()) != -1) {fileWriter.write(data);}//關閉fileReader.close();fileWriter.close();System.out.println("復制完畢");} } ```## 字符緩沖流 BufferedReader 一行一行的讀取文件```java package com.stream.FileReader;import java.io.BufferedReader; import java.io.FileReader;/*** @ClassName Demo04* @Description 字符緩沖流額讀取 BufferedReader* @Author AOA* @Date 2021/1/15 15:17* Version 1.0**/ public class Demo04 {public static void main(String[] args) throws Exception{//創(chuàng)建字符緩沖流FileReader fileReader = new FileReader("d:\\work\\write.txt");BufferedReader bufferedReader = new BufferedReader(fileReader);// 讀取// 單個讀取 // char[] chars = new char[1024]; // int count = 0; // while ((count = bufferedReader.read(chars)) != -1) { // System.out.print(new String(chars, 0, count)); // }//一行一行的讀取String line = null;while ((line = bufferedReader.readLine()) != null) {System.out.println(line);}// 關閉bufferedReader.close();} } ```## 字符緩沖流 BufferedWriter 輸出```java package com.stream.FileReader;import java.io.BufferedWriter; import java.io.FileWriter;/*** @ClassName Demo05* @Description 使用字符緩沖流輸出 BufferedWriter* @Author AOA* @Date 2021/1/15 15:43* Version 1.0**/ public class Demo05 {public static void main(String[] args) throws Exception {//創(chuàng)建字符緩沖流FileWriter fileWriter = new FileWriter("d:\\work\\BufferedWriter.txt");BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);//寫入for (int i = 0; i < 10; i++) {bufferedWriter.write("你好嗎?");bufferedWriter.newLine();bufferedWriter.flush();}//關閉bufferedWriter.close();} } ```## 轉(zhuǎn)換流 InputStreamReader 讀取```java package com.stream.StreamReader;import java.io.FileInputStream; import java.io.InputStreamReader;/*** @ClassName Demo01* @Description 轉(zhuǎn)換流 將字節(jié)流 讀到內(nèi)存 變?yōu)樽址? 使用指定的編碼格式* @Author AOA* @Date 2021/1/15 21:07* Version 1.0**/ public class Demo01 {public static void main(String[] args) throws Exception{//轉(zhuǎn)換流需要傳入字節(jié)流FileInputStream fileInputStream = new FileInputStream("d:\\work\\hello.txt");//創(chuàng)建轉(zhuǎn)換流InputStreamReader reader = new InputStreamReader(fileInputStream, "UTF-8");//讀取int data = 0;while ((data = reader.read()) != -1) {System.out.print((char) data);}//關閉reader.close();} } ```## 轉(zhuǎn)換流 OutputStreamReader 寫出```java package com.stream.StreamReader;import java.io.FileOutputStream; import java.io.OutputStreamWriter;/*** @ClassName Demo02* @Description 轉(zhuǎn)換流 OutputStreamReader 將字符流 存入 硬盤 變 字節(jié)流* @Author AOA* @Date 2021/1/15 21:40* Version 1.0**/ public class Demo02 {public static void main(String[] args) throws Exception{FileOutputStream fileOutputStream = new FileOutputStream("d:\\work\\OutputStreamWriter");//創(chuàng)建轉(zhuǎn)換流OutputStreamWriter writer = new OutputStreamWriter(fileOutputStream, "gbk");//輸出for (int i = 0; i < 5; i++) {writer.write("年后\r\n");writer.flush();}//關閉writer.close();} } ```## File文件類 獲取文件信息```java package com.stream.File;import java.io.File; import java.util.Date;/*** @ClassName Demo01* @Description File文件操作類* (1)分隔符* (2)文件操作* (3)文件夾操作* @Author AOA* @Date 2021/1/16 15:05* Version 1.0**/ public class Demo01 {public static void main(String[] args) throws Exception{separator();fileope();directoryOpe();}public static void separator() {System.out.println("路徑分隔符:" + File.pathSeparator);System.out.println("名稱分隔符:" + File.separator);}public static void fileope() throws Exception{//創(chuàng)建文件File file = new File("d:\\work\\file.txt");if (!file.exists()) {boolean newFile = file.createNewFile();System.out.println(newFile);} else {System.out.println("文件已存在");}//刪除文件//正常刪除文件// boolean delete = file.delete(); // System.out.println("是否刪除文件:" + delete);//jvm退出時刪除文件// file.deleteOnExit(); // Thread.sleep(5000);//獲取文件消息System.out.println("文件名字:" + file.getName());System.out.println("文件路徑:" + file.getPath());System.out.println("文件絕對路徑:" + file.getAbsolutePath());System.out.println("文件父目錄:" + file.getParent());System.out.println("文件長度:" + file.length());System.out.println("文件創(chuàng)建時間:" + new Date(file.lastModified()).toLocaleString());//判斷System.out.println("是否能寫:" + file.canWrite());System.out.println("是否是隱藏的:" + file.isHidden());System.out.println("是否是文件:" + file.isFile());}public static void directoryOpe() throws Exception{//創(chuàng)建文件夾File file = new File("d:\\work\\aa\\bb");if (!file.exists()) { // file.mkdir();//單級目錄System.out.println("新建文件夾結(jié)果:" + file.mkdirs());//多級目錄} else {System.out.println("文件夾已存在");}//刪除文件夾//正常刪除 // boolean delete = file.delete(); // System.out.println("刪除文件夾結(jié)果:" + delete);//JVM退出時刪除 // file.deleteOnExit(); // Thread.sleep(5000);//獲取文件夾信息System.out.println("文件夾的絕對路徑:" + file.getAbsolutePath());System.out.println("文件夾的路徑:" + file.getPath());System.out.println("文件夾的父路徑:" + file.getParent());System.out.println("文件夾的名字:" + file.getName());System.out.println("文件夾的生成時間:" + new Date(file.lastModified()).toLocaleString() );//判斷System.out.println("文件夾是否是隱藏的" + file.isHidden());System.out.println("是否是文件夾" + file.isDirectory());//遍歷文件夾File file1 = new File("d:\\work");// String[] list = file1.list(); //只有文件名File[] files = file1.listFiles(); //還有路徑for (File file2 : files) {System.out.println(file2);}} } ```## 遞歸文件夾```java package com.stream.File;import java.io.File; import java.nio.file.Files;/*** @ClassName ListFiles* @Description (1)遞歸遍歷文件夾 (2)遞歸刪除文件夾* @Author AOA* @Date 2021/1/19 17:37* Version 1.0**/ public class ListFiles {public static void main(String[] args) {//ListDir(new File("d:\\work\\aa"));DelectDir(new File("d:\\work\\aa"));}public static void ListDir(File dir) {System.out.println(dir.getAbsolutePath());File[] files = dir.listFiles();if (files != null && files.length > 0) {for (File file : files) {if (file.isDirectory()) {ListDir(file);} else {System.out.println(file.getAbsolutePath());}}}}public static void DelectDir(File dir) {File[] files = dir.listFiles();if (files != null && files.length > 0) {for (File file : files) {if (file.isDirectory()) {DelectDir(file);} else {System.out.println(file.getName() + "被刪除了" + file.delete());}}}System.out.println(dir.getName() + "被刪除了" + dir.delete());} } ```## Properties的使用```java package com.stream.File;import java.io.*; import java.util.Map; import java.util.Properties; import java.util.Set;/*** @ClassName Demo02* @Description Properties屬性:的使用* @Author AOA* @Date 2021/1/19 19:35* Version 1.0**/ public class Demo02 {private PrintWriter printWriter;public static void main(String[] args) throws Exception{Properties properties = new Properties();properties.setProperty("username", "張三");properties.setProperty("age", "20");System.out.println(properties);//遍歷//keySet()System.out.println("==========keySet==========");Set<Object> objects = properties.keySet();for (Object object : objects) {System.out.println(object + ":" + properties.get(object));}//entrySet()System.out.println("==========entrySet==========");Set<Map.Entry<Object, Object>> entries = properties.entrySet();for (Map.Entry<Object, Object> entry : entries) {System.out.println(entries);}//stringPropertiesNameSystem.out.println("==========stringPropertyNames==========");Set<String> strings = properties.stringPropertyNames();for (String string : strings) {System.out.println(string + ":" + properties.getProperty(string));}//和流有關的方法//-------------list方法-------------PrintWriter printWriter = new PrintWriter("d:\\work\\print.txt");properties.list(printWriter);printWriter.close();PrintStream printStream = new PrintStream("d:\\work\\print1.txt");properties.list(printStream);printStream.close();//-------------store方法 保存-------------// FileOutputStream fileOutputStream = new FileOutputStream("d:\\work\\print.properties"); // properties.store(fileOutputStream, "Hello World!!"); // fileOutputStream.close();// FileWriter fileWriter = new FileWriter("d:\\work\\print1.properties"); // properties.store(fileWriter, "Hello"); // fileWriter.close();//-------------load方法 讀取-------------System.out.println("========load.fileInputStream=======");FileInputStream fileInputStream = new FileInputStream("d:\\work\\print.properties");Properties properties1 = new Properties();properties1.load(fileInputStream);System.out.println(properties1);fileInputStream.close();System.out.println("========load.fileReader=======");FileReader fileReader = new FileReader("d:\\work\\print1.properties");properties1.load(fileReader);System.out.println(properties1);fileReader.close();} } ```

總結(jié)

以上是生活随笔為你收集整理的018IO流的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。