IOストリーム-入出力ストリーム:バイトストリーム、文字ストリーム、バッファストリーム、変換ストリーム
バイト入出力ストリーム:
- FileInputStream fis = new FileInputStream(filePath);
- FileOutputStream fos = new FileOutputStream(savePath);
-
- byte[] buffer = new byte[1024];
- int length = 0;
- while (-1 != (length = fis.read(buffer)))
- {
- fos.write(buffer);
- /**
- * :
- * String str = new String(buffer, 0, length);
- * fos.write(str.getBytes());
- */
- }
文字入出力ストリーム:
- FileReader fr = new FileReader(fileName);
- char[] buffer = new char[1024];//
- int length = 0;
- while (-1 != (length = fr.read(buffer)))
- {
- for (int i = 0; i < length; i++)
- {
- System.out.print(buffer[i]);
- }
- }
-
-
- FileWriter fw = new FileWriter(fileName);
- fw.write(" good");
- fw.flush();//
変換フロー、バッファフロー:
- FileInputStream fis = new FileInputStream(fileName);
- InputStreamReader isr = new InputStreamReader(fis);
- BufferedReader br = new BufferedReader(isr);
-
- FileOutputStream fos = new FileOutputStream(saveName);
- OutputStreamWriter osw = new OutputStreamWriter(fos);
- BufferedWriter bw = new BufferedWriter(osw);
-
-
- String str = null;
- while (null != (str = br.readLine()))// '\r' '\t'
- {
- bw.write(str);//write
- bw.newLine();//
- bw.flush();//
- }
ファイルコピー方法:バイトフロー、文字フロー、バッファフロー、変換フローの練習
- public class CopyMethod
- {
- public static void main(String[] args)
- {
- CopyMethod cm = new CopyMethod();
- String scr = "F:/java/tt.txt";
- String dest = "F:/java/xx.txt";
- cm.copyMethod(scr, dest);
- }
-
- public void copyMethod(String scr,String dest)
- {
- BufferedReader fr = null;
- BufferedWriter bw = null;
- try
- {
- FileInputStream fis = new FileInputStream(scr);//
- InputStreamReader isr = new InputStreamReader(fis);// ,
- fr = new BufferedReader(isr);// ,
-
- FileOutputStream fos = new FileOutputStream(dest);
- OutputStreamWriter osw = new OutputStreamWriter(fos);
- bw = new BufferedWriter(osw);
-
- String str = null;//
- while(null != (str = fr.readLine()))// readLine(), \r
- {
- bw.write(str);//
- bw.newLine();//
- bw.flush();// , writer flush
- }
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- finally//
- {
- if(fr != null)
- {
- try
- {
- fr.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- if(null != bw)
- {
- try
- {
- bw.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- }
本文は“空は痕跡がありませんが私は飛んだことがあります”のブログから出て、転載して作者と連絡してください!