国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從零開始學三十五(JAVA IO- 字節流)

2019-11-14 23:07:00
字體:
來源:轉載
供稿:網友
java從零開始學三十五(JAVA IO- 字節流)一、字節流FileOutputStream是OutputStream 的直接子類FileInputStream也是InputStream的直接子類二、文本文件的讀寫2.1、字節輸入流

Test.txt文件內容abcdefg
package com.pb.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/* * FileInputStreamDemo讀取文件 */public class FileInputStreamDemo1 {    public static void main(String[] args) {        //1.聲明文件對象,也可以跳過此步直接在第2步中寫        File f=new File("d:"+File.separator+"test"+File.separator+"test.txt");         //FileInputStream fis=new FileInputStream("d:/test/hello.txt");        try {            //2.創建FileInputStream對象并將file對象傳入            FileInputStream fis=new FileInputStream(f);            //3.定義整型變量用來存放內容            int date;            //4先查看文件可以讀取的字節類available()方法獲取文件的字節數            System.out.

結果:

可讀取的字節數:7=========開始讀取文件==================沒有轉換前輸出=======97    98    99    100    101    102    103    =======文件讀取結束=========

結果:并不是文件中的內容

修改上面的文件:

package com.pb.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/* * FileInputStreamDemo讀取文件 */public class FileInputStreamDemo1 {    public static void main(String[] args) {        //1.聲明文件對象,也可以跳過此步直接在第2步中寫        File f=new File("d:"+File.separator+"test"+File.separator+"test.txt");         //FileInputStream fis=new FileInputStream("d:/test/hello.txt");        try {            //2.創建FileInputStream對象并將file對象傳入            FileInputStream fis=new FileInputStream(f);            //3.定義整型變量用來存放內容            int date;            //4先查看文件可以讀取的字節類available()方法獲取文件的字節數            System.out.println("可讀取的字節數:"+fis.available());            System.out.println("=========開始讀取文件==========");            //5讀取文件read()方法            System.out.println("========轉換后轉出=======");            while((date=fis.read())!=-1){   //!=-1說明文件還有內容=-1時,就說明文件內容讀完結束                char c=(char)date;                System.out.println(c+"/t");            }            System.out.println("=======文件讀取結束=========");            //6.關閉流            fis.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }            }}

結果:

可讀取的字節數:7=========開始讀取文件==================轉換后轉出=======a    b    c    d    e    f    g    =======文件讀取結束=========

小結:FileInputStream

1.read()讀取內容,是返回int值

2.需要轉換字符

3.read()方法是單程的,

4.一定要關閉流

2.2、字節輸出流

package com.pb.io;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;public class FileOutputStreamDemo1 {    public static void main(String[] args) {                try {            //1.實例化FileOutputStream對象,在文件的末尾追加內容            FileOutputStream fos=new FileOutputStream("d:/test/test.txt",true);            //2.創建他寫入的字符串            Scanner input=new Scanner(System.in);            System.out.println("請輸入要寫入文件的內容:");            String    str=input.next();                //3.將內容轉換為字節數組            byte[] bytes=str.getBytes();            //4.將內容寫入            fos.write(bytes,0,bytes.length);  //3個參數的方法,從0開始到數組結束的全部寫入            System.out.println("文件寫入結束!");            //5.關閉流            fos.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            }}

結果:

請輸入要寫入文件的內容:輸入e結束好好學習,天天向上 hello java!文件寫入結束!

test.txt

abcdefg好好學習,天天向上

在進行寫操作時,如果文件不存在,將自動創建這個文件,如果上面沒test.txt,將會自動創建這個文件,可以試下,將文件刪除再運行

三、綜合使用
package pb.io.file;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;/** * 拷貝文件 * @author 北大青鳥 * */public class CopyFile {    public static void main(String[] args) {        Scanner input=new Scanner(System.in);        int date=0;        System.out.print("請輸入您要拷貝的源文件:");        String file1=input.next();        System.out.print("請輸入您要拷貝的目標位置:");        String file2=input.next();        try {            FileInputStream fis = new FileInputStream(file1);            FileOutputStream fos = new FileOutputStream(file2);            while((date=fis.read())!=-1){//讀取文件                char c=(char)date;          fos.write(c);                }            fis.close();            fos.close();            System.out.println("拷貝成功!");        } catch (FileNotFoundException e) {            System.out.println("源文件未找到!");        } catch (IOException ex) {            System.out.println(ex.toString());        }        }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和龙市| 曲水县| 新邵县| 扎赉特旗| 马边| 高清| 吉林省| 广安市| 阿尔山市| 泌阳县| 英德市| 瑞金市| 通海县| 马尔康县| 永德县| 浦县| 鹤壁市| 米林县| 江永县| 克东县| 长泰县| 哈巴河县| 东安县| 峨边| 和静县| 舒兰市| 许昌市| 沂南县| 香港 | 泸水县| 邵阳市| 岑巩县| 富川| 册亨县| 通辽市| 休宁县| 佛坪县| 兰考县| 吴桥县| 清流县| 南木林县|