1:緩沖流 BufferedReader BufferedWriter
具有較強的讀寫能力,能單獨讀寫一行數據,能夠減少對硬盤的訪問次數。
1 /** 2 * 緩沖流 能夠增強對問價數據的可讀性,減少訪問讀取硬盤的次數,提高效率 3 * */ 4 public static void bufferedDemo() throws IOException{ 5 File fread=new File("E://input.txt"); 6 File fwrite=new File("E://output.txt"); 7 System.out.2:隨機流 Randomaccess
File RandomAccessFile流,既可以讀取文件中的數據,也可以寫進文件中的數據的一種流
1 /** 2 * 隨機流 可讀可寫的類型RandomAccessFile 3 * @throws IOException 4 * */ 5 public static void RandomAccessDemo() throws IOException{ 6 //單獨使用Random寫進一些數據,在讀出來 7 int data[]={1,2,3,4,5,6,7,8,9}; 8 File fileName=new File("E://RandomAccessFile.txt"); 9 if(!fileName.exists())10 fileName.createNewFile();11 RandomAccessFile raf=new RandomAccessFile(fileName, "rw");12 for(int i=0;i<data.length;i++){13 raf.writeInt(i);14 }15 System.out.println("數據寫入完畢。");16 //讀取數據17 for(int j=data.length-1;j>=0;j--){18 raf.seek(j*4);19 System.out.printf("/t%d",raf.readInt());20 }21 raf.close();22 }3:數組流 字節數組流:ByteArrayInputStream ByteArrayOutputStream
字符數組流:BytearrayReader ByteArrayWriter
1 /** 2 * 數組流 字節數組流(ByteArrayInputStream ByteArrayOutputStream) 3 * 字符數組流(BytearrayReader ByteArrayWriter) 4 * */ 5 public static void ByteArrayDemo() throws Exception{ 6 //字節流 7 ByteArrayOutputStream bos=new ByteArrayOutputStream(); 8 byte [] str="祝你節日快樂".getBytes(); 9 bos.write(str); //寫入數據10 //讀取數據11 ByteArrayInputStream bis=new ByteArrayInputStream(bos.toByteArray());12 byte[] b=new byte[bos.toByteArray().length];13 bis.read(b);14 System.out.println("寫入的數據為:"+new String(b));15 bis.close();16 bos.close();17 //字符流18 CharArrayWriter caw=new CharArrayWriter();19 char [] str2="中秋節快樂!".toCharArray();20 caw.write(str2);21 CharArrayReader car=new CharArrayReader(caw.toCharArray());22 char[] c=new char[caw.toCharArray().length];23 car.read(c);24 System.out.println("讀取的數據為:"+new String(c));25 car.close();26 caw.close();27 }4:數據流 DataInputStream DataOutputStream
能夠方便的讀取與機器無關的java原始數據,讀取時不必糾結去字節大小
/** * 數據流 DataInputStream DataOutputStream 能夠方便的讀取與機器無關的java原始數據 * */ public static void DataDemo() throws IOException{ //創建文件 ,用數據流寫入不同類型的數據,分別讀出不同類型的數據 File f=new File("E://DataDemo.txt"); FileOutputStream fos=new FileOutputStream(f); DataOutputStream dos=new DataOutputStream(fos); dos.writeInt(23); dos.writeDouble(22.343435); dos.writeFloat(55.2343f); dos.writeBoolean(true); dos.writeChars("中秋快樂!"); System.out.println("數據讀入完畢!"); //讀取數據 FileInputStream fis=new FileInputStream(f); DataInputStream dis=new DataInputStream(fis); System.out.println(dis.readInt()); System.out.println(dis.readDouble()); System.out.println(dis.readFloat()); System.out.println(dis.readFloat()); System.out.println(dis.readBoolean()); char c='/0'; while((c=dis.readChar())!='/0'){ System.out.print(c); } dis.close(); dos.close(); }
新聞熱點
疑難解答