把字符串写入文件。
public class TestNIO {
public static void main(String[] args) throws Exception{
FileOutputStream fos=new FileOutputStream("basic.txt");
FileChannel fc=fos.getChannel();
ByteBuffer buffer=ByteBuffer.allocate(1024);
String str="hello,fffffnio";
buffer.put(str.getBytes());
buffer.flip();
fc.write(buffer);
fos.close();
}
}
从文件中读取字符串
public class TestNIO2 {
public static void main(String[] args) throws Exception{
File file=new File("basic.txt");
FileInputStream fis=new FileInputStream(file);
FileChannel fc = fis.getChannel();
ByteBuffer buffer=ByteBuffer.allocate((int)file.length());
fc.read(buffer);
System.out.println(new String(buffer.array()));
fis.close();
}
}
文件复制
/**
* 实现文件复制
*/
public class TestNIO3 {
public static void main(String[] args) throws Exception{
//1创建两个流
FileInputStream fis=new FileInputStream("basic.txt");
FileOutputStream fos=new FileOutputStream("e:/14期文件/basic.txt");
//2得到两个通道
FileChannel sourceFC = fis.getChannel();
FileChannel destFC=fos.getChannel();
//3复制
destFC.transferFrom(sourceFC,0,sourceFC.size());
// sourceFC.transferTo(destFC,0,sourceFC.size());
//4关闭
fis.close();
fos.close();
}
}