1.FileinputStream的使用
package com.qx.lll;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class StudyInputStream
{
public static void main(String[] args) throws IOException
{
FileInputStream fis = new FileInputStream("aaa.txt");
int b;
while ((b = fis.read())!= -1)
{
System.out.println((char) b);
}
fis.close();
}
}
2.FileoutStream的使用
package com.qx.lll;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class StudyOutStream
{
public static void main(String[] args) throws IOException
{
FileOutputStream fos = new FileOutputStream("bbb.txt");
fos.write(97);
fos.write(98);
fos.write(99);
fos.write(78);
fos.close();
}
}
3.拷贝文件效率最低的方法
package com.qx.lll;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Picture
{
public static void main(String[] args) throws IOException
{
FileInputStream fis = new FileInputStream("123.jpg");
FileOutputStream fos = new FileOutputStream("321.jpg");
int receive;
while ((receive = fis.read())!= -1)
{
fos.write(receive);
}
fis.close();
fos.close();
}
}
(1)针对上面在改进
(由于java虚拟机分配内存的问题,这种方法不推荐)
package com.qx.lll;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Media
{
public static void main(String[] args) throws IOException
{
FileInputStream fis = new FileInputStream("1234.mp3");
FileOutputStream fos = new FileOutputStream("4321.mp3");
byte[] bytes = new byte[fis.available()];//可以获取与文件关联的字节数
fis.read(bytes);
fos.write(bytes);
fis.close();
fos.close();
}
}
(2)在改进
package com.qx.lll;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class MediaTwo
{
public static void main(String[] args) throws IOException
{
FileInputStream in = new FileInputStream("789.mp3");
FileOutputStream out = new FileOutputStream("987.mp3");
int len;
byte[] bytes = new byte[1024 * 8];
while ((len = in.read(bytes))!= -1)
{
System.out.println(len);//打印每次读取多少个字节
out.write(bytes,0,len);//write 中参数的意思:将指定字节数组中从偏移量off开始的len个字节写入此文件输出流
}
in.close();
out.close();
}
}