java nio讀取和寫入文件


讀取

package com.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.text.MessageFormat;

public class TestFileChannel {
    public static void main(String[] args) throws IOException {


        FileInputStream fin = new FileInputStream("D:\\temp\\TestService.cs");

        // 獲取通道
        FileChannel fc = fin.getChannel();

        // 創建緩沖區
        ByteBuffer buffer = ByteBuffer.allocate(1024);

        // 讀取數據到緩沖區
        fc.read(buffer);

        buffer.flip();

        StringBuffer s=new StringBuffer();
        while (buffer.remaining() > 0) {
            byte b = buffer.get();
            s.append((char)b);
            //System.out.print(((char) b));
        }
        System.out.print(s);

        fin.close();


    }
}
View Code

 

寫入

public class Test {
    public static void main(String[] args) throws IOException  {
        File file = new File("data.txt");
        FileOutputStream outputStream = new FileOutputStream(file);
        FileChannel channel = outputStream.getChannel();
        ByteBuffer buffer = ByteBuffer.allocate(1024);
        String string = "java nio";
        buffer.put(string.getBytes());
        buffer.flip();     //此處必須要調用buffer的flip方法
        channel.write(buffer);
        channel.close();
        outputStream.close();
    }  
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM