package IO;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class first {
public static void main(String[] args) throws IOException {
FileInputStream fin=new FileInputStream("C:/Users/RDGFT/Desktop/in.txt");
FileOutputStream fout=new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
int i;
long a=System.currentTimeMillis();
while((i=fin.read())!=-1)
{
fout.write(i);
}
System.out.println("执行耗时 : "+(System.currentTimeMillis()-a)/1000f+" 秒 ");
fin.close();
fout.close();
}
//57.3s
}
package IO;
import java.io.*;
public class second {
public static void main(String[] args) throws IOException {
FileReader fin=new FileReader("C:/Users/RDGFT/Desktop/in.txt");
FileWriter fout=new FileWriter("C:/Users/RDGFT/Desktop/out.txt");
int i;
long a=System.currentTimeMillis();
while((i=fin.read())!=-1)
{
fout.write(i);
}
System.out.println("执行耗时 : "+(System.currentTimeMillis()-a)/1000f+" 秒 ");
fin.close();
fout.close();
}
//1.958 秒
}
package IO;
import java.io.*;
public class third {
public static void main(String[] args) throws IOException {
BufferedInputStream bin=new BufferedInputStream(new FileInputStream("C:/Users/RDGFT/Desktop/in.txt"));
BufferedOutputStream bout=new BufferedOutputStream(new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt"));
long a=System.currentTimeMillis();
while(bin.available()>0)
{
bout.write(bin.read());
}
System.out.println("执行耗时 : "+(System.currentTimeMillis()-a)/1000f+" 秒 ");
bout.flush();
bin.close();
bout.close();
}
//35.592 秒
}
package IO;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class fourth {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("C:/Users/RDGFT/Desktop/in.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("C:/Users/RDGFT/Desktop/out.txt"));
int i;
long a=System.currentTimeMillis();
String str;
while((str=br.readLine())!=null)
{
bw.write(str);
}
System.out.println("执行耗时 : "+(System.currentTimeMillis()-a)/1000f+" 秒 ");
br.close();
bw.close();
}
//0.42 秒
}
以下是javaNIO中的内容
package NIO;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
public class first {
public static void copyByMapped() throws Exception {
FileInputStream fIn = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt");
FileOutputStream fOut = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
FileChannel fIChan = fIn.getChannel();
FileChannel fOChan = fOut.getChannel();
long fSize = fIChan.size();
MappedByteBuffer mBuf = fIChan.map(FileChannel.MapMode.READ_ONLY, 0, fSize);
fOChan.write(mBuf); // this copies the file
fIChan.close();
fIn.close();
fOChan.close();
fOut.close();
}
public static void copyByChannel() throws Exception{
FileInputStream fin = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt" );
FileOutputStream fout = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
FileChannel fcin = fin.getChannel();
FileChannel fcout = fout.getChannel();
ByteBuffer buffer = ByteBuffer.allocate( 1024 );
while (true) {
buffer.clear();
int r = fcin.read( buffer );
if (r==-1) {
break;
}
buffer.flip();
fcout.write( buffer );
}
}
public static void copyByFastChannel() throws Exception{
FileInputStream fin = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt");
FileOutputStream fout = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
FileChannel fcin = fin.getChannel();
FileChannel fcout = fout.getChannel();
ByteBuffer buffer = ByteBuffer.allocateDirect( 1024 );
while (true) {
buffer.clear();
int r = fcin.read( buffer );
if (r==-1) {
break;
}
buffer.flip();
fcout.write( buffer );
}
}
public static void copyByBufferStream() throws Exception{
FileInputStream fin = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt" );
BufferedInputStream bin = new BufferedInputStream(fin);
FileOutputStream fout = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
BufferedOutputStream bout = new BufferedOutputStream(fout);
int r=0;
byte ch[] = new byte[1024];
while((r=bin.read(ch))!=-1){
fout.write(ch);
}
fin.close();
fout.close();
}
public static void copyByByteArrayFileStream() throws Exception{
FileInputStream fin = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt");
FileOutputStream fout = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
byte[] ch = new byte[1024];
int r=0;
while((r=fin.read(ch))!=-1){
fout.write(ch);
}
fin.close();
fout.close();
}
public static void copyByByteFileStream() throws Exception{
FileInputStream fin = new FileInputStream("C:/Users/RDGFT/Desktop/in.txt");
FileOutputStream fout = new FileOutputStream("C:/Users/RDGFT/Desktop/out.txt");
int ch;
while((ch=fin.read())!=-1){
fout.write(ch);
}
fin.close();
fout.close();
}
public static void main(String[] args)throws Exception {
long start=0, end =0;
start = System.currentTimeMillis();
copyByMapped();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
start = System.currentTimeMillis();
copyByChannel();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
start = System.currentTimeMillis();
copyByFastChannel();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
start = System.currentTimeMillis();
copyByBufferStream();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
start = System.currentTimeMillis();
copyByByteArrayFileStream();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
start = System.currentTimeMillis();
copyByByteFileStream();
end = System.currentTimeMillis();
System.out.println((end-start) + "ms");
//一次时间为根据个人机器而有所差距
/**
* 42ms
316ms
199ms
156ms
227ms
*/
}
}
分享到:
相关推荐
java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...
java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...
java视频教程 Java文件操作 JavaFile
Java文件操作封装类
java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。
如何在Java中操作文件呢?转载供大家欣赏
Session是一个远程服务器文件操作的会话,可以实现文件的移动、复制、删除等操作。通过使用Session,可以实现远程服务器文件的操作。 6. 使用InputStream和BufferedReader实现命令执行结果的获取 InputStream和...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
"Java 文件操作" Java 文件操作是 Java 编程语言中的一种基本操作,包括文件的移动、复制、删除、剪切等。下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下...
Java的`java.nio.file`包提供了丰富的文件操作接口,如`Files.setPosixFilePermissions()`和`Files.newFileChannel()`,可以用来设置权限和创建文件通道进行锁定。 7. **文件自动加密**:文件加密通常涉及对文件...
这个文件里面包含了java的IO流对文件的操作和java通道加内存映射对文件操作的源码
Java文件操作一例:Copy 复制文件,虽然是复制文件,不过通过本源码你可以学习很多相关的Java基础技巧,比如Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器、如何得到选择文件的绝对路径、如何...
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
java 文件操作,创建文件,创建目录,删除文件目录
本话题将详细探讨如何通过Ajax实现Java文件的下载,并介绍相关的核心概念和技术。 1. **Ajax**(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript...
Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解和学习已有的Java程序、逆向工程或调试都是很有用的。标题提到的"java反编译工具"是用于这个目的的软件,它能够帮助开发者...
JAVA中JFileChooser的使用方法 实现打开保存和关闭文件
此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作
里面包含了File类的作用、IO流、字节流字符流、异常处理、缓冲流、转换流、序列化、打印流的详细讲解
文件工具类java操作文件工具类java操作文件工具类java操作文件工具类java操作文件工具类