java 文字檔I/O 、二進位檔案I/O

來源:互聯網
上載者:User

標籤:window   輸入   new   抽象   exception   資料   ted   返回   不能   

文字檔:可以用編輯器開啟編輯的檔案
二進位檔案:不能用編輯器編輯的僅供程式讀取的檔案。

文本I/O需要編碼解碼。

二進位I/O不需要編碼解碼,因此更高效。

*****************文字檔的I/O*****************************

public class fileInput {
    public static void main(String[] args) throws FileNotFoundException {
        // TODO Auto-generated method stub
        File file = new File("a.txt");//如果沒有該檔案,自動建立
        System.out.println(file.exists());///判斷該檔案是否存在
        System.out.println(file.length());///返迴文件大小
        System.out.println(file.canRead());///判斷檔案的可讀性
        System.out.println(file.isDirectory());////File對象代表的是一個目錄
        System.out.println(file.isAbsolute());////file檔案是不是絕對路徑
        System.out.println(file.isHidden());///判斷檔案是否是隱藏的
        System.out.println(file.getAbsolutePath());///取得檔案的絕對路徑
        System.out.println(new Date(file.lastModified()));///擷取檔案最後 一次唄修改的時間

// 向檔案寫入資料
        try(PrintWriter print =  new PrintWriter(file);)        {        
            print.print("Hello,i am from NewYork!");//寫入字串
            print.println(123456);    //寫入數值    
        }   

////從檔案讀取資料 ,控制台輸出  
        try(Scanner input = new Scanner(file);
){
            System.out.println(input.next());    
            while(input.hasNext()){
            System.out.println(input.next());
            }
        }
    }
}

 

*********************二進位檔案I/O********************


抽象類別 InputStream: 讀取位元據的根類 。抽象類別 OutputStream:寫入位元據的根類
FileOutputStream是OutputStream的子類,向檔案寫入資料
FileInputStream是InputStream的子類,從檔案讀取資料
try-with-resources 聲明和建立輸入輸出資料流 ,使用後可以自動關閉

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo1 {
//二進位所有方法都聲明為拋出java.io.IOException或者jav.io.IOException的子類
    public static void main(String[] args) throws IOException {
  
      try(FileOutputStream output = new FileOutputStream("C:\\Users\\Cortana\\Desktop\\myfile1");){
          for (int i = 0; i <=100; i++) {
            output.write(i);    //向指定路徑,(windows下)的檔案寫入0-100的數
        }
      }
      
      try(FileOutputStream output = new FileOutputStream("temp.txt");){
          for (int i = 100; i <=200; i++) {
            output.write(i);     //向預設路徑檔案temp.txt寫入100-200的數
        }
      }
          
        try(    FileInputStream input = new FileInputStream("C:\\Users\\Cortana\\Desktop\\myfile1");){
            int value;
            while((value=input.read())!=-1){
                System.out.println(value+" ");    //從檔案讀取資料,在控制台輸出
            }
            System.out.println();
        }
        
        try(    FileInputStream input = new FileInputStream("temp.txt");){
            int value;
            while((value=input.read())!=-1){
                System.out.println(value+" ");    //從檔案讀取資料,在控制台輸出
            }
            System.out.println();
        }
    }
}

 

java 文字檔I/O 、二進位檔案I/O

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.