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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中的输入输出流

發布時間:2025/4/5 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中的输入输出流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1 File類
    • 1.1 File類的常用用法
  • 2 字節流
    • 2.1 字節輸入流InputStream
      • 2.1.1 字節輸入流整體框架
      • 2.1.2 FileInputStream的常用用法
    • 2.2 字節輸出流OutputStream
      • 2.2.1 字節輸出流整體框架
      • 2.2.2 FileOutStream的常用用法
  • 3 緩沖流
    • 3.1 緩沖輸入流BufferedInputStream和緩沖輸出流BufferedOutputStream
  • 4 字符流
    • 4.1 字符流概述
  • 5 字節字符轉換流

1 File類

1.1 File類的常用用法

在Java中,使用java.io.File類對文件進行操作。

下面看一下創建文件、創建文件夾的操作:

package com.imooc.file;import java.io.File; import java.io.IOException;public class FileDemo {public static void main(String[] args) {//創建File對象//File file1=new File("c:\\imooc\\io\\score.txt");//File file1=new File("c:\\imooc","io\\score.txt");File file=new File("c:\\imooc");File file1=new File(file,"io\\score.txt");//判斷是文件還是目錄System.out.println("是否是目錄:"+file1.isDirectory());System.out.println("是否是文件:"+file1.isFile());//創建目錄File file2=new File("c:\\imooc\\set\\HashSet");if(!file2.exists()) {file2.mkdirs();}//創建文件if(!file1.exists()) {try {file1.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

下面再看一下相對路徑和絕對路徑的簡單示例代碼:

package com.imooc.path;import java.io.File; import java.io.IOException;public class FileDemo {public static void main(String[] args) { // File f=new File("c:\\imooc\\java\\thread\\thread.txt"); // System.out.println(f.exists());File f=new File("thread.txt");try {f.createNewFile();//是否是絕對路徑System.out.println(f.isAbsolute());//獲取相對路徑System.out.println(f.getPath());//獲取絕對路徑System.out.println(f.getAbsolutePath());//獲取文件名System.out.println(f.getName());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

2 字節流

2.1 字節輸入流InputStream

2.1.1 字節輸入流整體框架

2.1.2 FileInputStream的常用用法

FileInputStream:

  • 從文件系統中的某個文件中獲得輸入字節。
  • 用于讀取諸如圖像數據之類的原始字節流。

FileInputStream的常用用法:

看下示例代碼:

package com.imooc.file;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;public class FileInputDemo1 {public static void main(String[] args) {//創建一個FileInputStream對象try {FileInputStream fis=new FileInputStream("imooc.txt"); // int n=fis.read();int n=0; // while(n!=-1){ // System.out.print((char)n); // n=fis.read(); // }while((n=fis.read())!=-1){System.out.print((char)n);}fis.close();}catch (FileNotFoundException e) {e.printStackTrace();} catch(IOException e){e.printStackTrace();}}} package com.imooc.file;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;public class FileInputDemo2 {public static void main(String[] args) {// 創建一個FileInputStream對象try {FileInputStream fis = new FileInputStream("imooc.txt");byte[] b=new byte[100];fis.read(b,0,5);System.out.println(new String(b));fis.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}

2.2 字節輸出流OutputStream

2.2.1 字節輸出流整體框架

2.2.2 FileOutStream的常用用法

常用方法如下:

簡單的示例程序如下:

package com.imooc.file;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class FileOutputDemo {public static void main(String[] args) {FileOutputStream fos;FileInputStream fis;try {fos = new FileOutputStream("imooc.txt",true);fis=new FileInputStream("imooc.txt");fos.write(50);fos.write('a');System.out.println(fis.read());System.out.println((char)fis.read());fos.close();fis.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}

下面看一下對文件的拷貝操作的實現:

package com.imooc.file;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class FileOutputDemo1 {public static void main(String[] args) {// 文件拷貝try {FileInputStream fis=new FileInputStream("happy.gif");FileOutputStream fos=new FileOutputStream("happycopy.gif");int n=0;byte[] b=new byte[1024];while((n=fis.read(b))!=-1){fos.write(b,0,n);}fis.close();fos.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch(IOException e){e.printStackTrace();}}}

3 緩沖流

3.1 緩沖輸入流BufferedInputStream和緩沖輸出流BufferedOutputStream

使用比較簡單,直接看如下示例代碼即可:

package com.imooc.file;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class BufferedDemo {public static void main(String[] args) {try {FileOutputStream fos=new FileOutputStream("imooc.txt");BufferedOutputStream bos=new BufferedOutputStream(fos);FileInputStream fis=new FileInputStream("imooc.txt");BufferedInputStream bis=new BufferedInputStream(fis);long startTime=System.currentTimeMillis();bos.write(50);bos.write('a');bos.flush();System.out.println(bis.read());System.out.println((char)bis.read());long endTime=System.currentTimeMillis();System.out.println(endTime-startTime);fos.close();bos.close();fis.close();bis.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

4 字符流

4.1 字符流概述

字符流Reader:

字符流Writer:


5 字節字符轉換流

主要是InputStreamReader和OutputStreamWriter的用法,示例代碼如下:

package com.imooc.charstream;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter;public class ReaderDemo {public static void main(String[] args) {try {FileInputStream fis=new FileInputStream("imooc.txt");InputStreamReader isr=new InputStreamReader(fis,"GBK");BufferedReader br=new BufferedReader(isr);FileOutputStream fos=new FileOutputStream("imooc1.txt");OutputStreamWriter osw=new OutputStreamWriter(fos,"GBK");BufferedWriter bw=new BufferedWriter(osw);int n=0;char[] cbuf=new char[10]; // while((n=isr.read())!=-1){ // System.out.print((char)n); // } // while((n=isr.read(cbuf))!=-1){ // String s=new String(cbuf,0,n); // System.out.print(s); // }while((n=br.read(cbuf))!=-1){//String s=new String(cbuf,0,n);bw.write(cbuf, 0, n);bw.flush();}fis.close();fos.close();isr.close();osw.close();br.close();bw.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

總結

以上是生活随笔為你收集整理的Java中的输入输出流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。