黑马程序员技术交流社区
标题:
通过IO流读取拷贝文件的几种方式
[打印本页]
作者:
sniper170fly
时间:
2015-9-19 11:47
标题:
通过IO流读取拷贝文件的几种方式
/**
* IO一章只是总结,拷贝读写的几个方法。
* 异常没有处理,直接抛了
* @author Adam
*
* 带缓冲的字节流复制文件
*/
import java.io.*;
public class CountSum {
public static void main(String[] args) throws IOException
{
// streamCopyPic();
// copyTxt();
// keyReadToTxt();
// fileToCom();
keyToCom();
}
//字节流方式拷贝图片
public static void streamCopyPic() throws IOException
{
//加入缓冲技术提高效率
BufferedInputStream bufi = new BufferedInputStream(new FileInputStream("d:\\33.jpg"));
BufferedOutputStream bufo = new BufferedOutputStream(new FileOutputStream("d:\\aa.jpg"));
byte[] buf = new byte[1024];
int i = 0;
while((i=bufi.read(buf))!=-1)
{
bufo.write(buf, 0, buf.length);
bufo.flush();
}
bufo.close();
bufi.close();
}
//字符流拷贝文件
public static void copyTxt() throws IOException
{
BufferedReader bufr = new BufferedReader(new FileReader("d:\\abc.txt"));
BufferedWriter bufw = new BufferedWriter(new FileWriter("d:\\23333.txt"));
String str = null;
while((str=bufr.readLine())!=null)
{
bufw.write(str);
bufw.newLine();
bufw.flush();
}
bufw.close();
bufr.close();
}
//从键盘读取数据保存到文件中
public static void keyReadToTxt() throws IOException
{
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new FileWriter("d:\\zhangxiang.txt"));
String str = null;
while((str=bufr.readLine())!=null)
{
if(str.equals("over"))
break;
bufw.write(str);
bufw.newLine();
bufw.flush();
}
bufw.close();
bufr.close();
}
//从文件读取数据输出到控制台
public static void fileToCom() throws IOException
{
BufferedReader bufr = new BufferedReader(new FileReader("d:\\zhangxiang.txt"));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = null;
while((str=bufr.readLine())!=null)
{
bufw.write(str);
bufw.newLine();
}
bufw.close();
bufr.close();
}
//从控制台输入文件,打印在控制台上
public static void keyToCom() throws IOException
{
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = null;
while((str=bufr.readLine())!=null)
{
if(str.equals("over"))
break;
bufw.write(str.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufw.close();
bufr.close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2