[java]代码库
package s1214字符流字节流;
/*1.注意,字符流可以读取中文,但是字节流不能显示中文,因为1字符=2字节,1个汉字用2字节表示,英文都是1字节。而且字符流读取效率
* 更高,所以读取文本一般用字符流。
* 2.单是字符流只能复制文本文件,字节流可以复制歌曲,等等任何文件
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
//字符流和字节流复制文本********************************************************************************
public class Main
{ public static void main(String[] args) throws IOException //一定要加上throws IOException语句
{
copyProgram();
copyText();
}
public static void copyProgram() throws IOException {
//被复制的文件,用FileInputStream
FileInputStream input=new FileInputStream("C:/Users/Administrator/Desktop/歌/Just One Last Dance.mp3");
//复制后的文件,用FileOutputStream
FileOutputStream output=new FileOutputStream("C:/Users/Administrator/Desktop/歌/new/Just One Last Dance.mp3");
int aa; //读取一个字符 必须定义为整形
aa=input.read();
while(aa!=(-1)) //aa接受的是啊茨克码,只有当什么都没有的情况下,aa才返回-1
{ output.write(aa);
aa=input.read();
}
output.flush(); //FileOutputStream先flush一下,将流中的残留内容全部输入或者输出
input.close(); //必须写关闭
output.close(); //必须写关闭
System.out.println("复制完毕");
}
public static void copyText() throws FileNotFoundException, IOException {
FileReader s=new FileReader("C:/Users/Administrator/workspace/学习历程2015/src/s0123文件夹创建/Main.java"); //字符流,文本编码方式为ANSI就能显示中文,其他编码方式不能显示中文 //字符流
// FileInputStream s=new FileInputStream("C:/Users/Administrator/Desktop/早晨从中午开始.txt");//字节流
int aa; //读取一个字符 必须定义为整形
aa=s.read();
System.out.println("文件内容为:");
while(aa!=(-1)) //aa接受的是啊茨克码,只有当什么都没有的情况下,aa才返回-1
{ System.out.print((char)aa); //这里要把aa强制转型为char类型输出
aa=s.read();
}
s.close(); //必须写关闭
}
}