复制一个文件到另一个文件——IO流的应用

package com.itshixun.steven.fileio;

import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;

public class MyFileReader {

 public static void main(String[] args) throws IOException {

  File sf = new File("c:/test.txt");
  File df = new File("d:/test.txt");

  // MyFileReader.copy(sf, df);
  // MyFileReader.readChar();
  MyFileReader.readLine();

 }

 public static void read() throws IOException {
  String filePath = "c:/msizap.exe";

  InputStream is = null;
  File file = new File(filePath);
  is = new FileInputStream(file);

  int c;
  int count = 0;
  while ((c = is.read()) != -1) {
   // 输出文本
   // System.out.print((char) c);

   // 输出16进制
   if (count++ % 16 == 0) {
    System.out.println();
    System.out.print(Integer.toHexString(count) + ":/t");
   }

   String hex = "00" + Integer.toHexString(c).toUpperCase();
   System.out.print(hex.substring(hex.length() - 2) + " ");

  }

  is.close();
 }

 public static void readChar() throws IOException {
  String filePath = "c:/No Rain No Rainbow.txt";

  Reader reader = null;
  reader = new FileReader(new File(filePath));

  // char[] c = new char[10];
  //
  // int count;
  //
  // while ((count = reader.read(c)) != -1) {
  // for (int i = 0; i < count; i++) {
  // System.out.print(c[i]);
  // }
  // }

  int c;

  while ((c = reader.read()) != -1) {
   System.out.print((char) c);
  }

 }

 public static void readLine() throws IOException {
  String filePath = "c:/txt2.txt";

  BufferedReader br = new BufferedReader(new InputStreamReader(
    new FileInputStream(filePath), "UTF-16"));

  String str;

  while ((str = br.readLine()) != null) {
   System.out.println(str);
  }

  br.close();

 }

 public static void copy(File srcfile, File desfile) throws IOException {

  InputStream is = new FileInputStream(srcfile);
  OutputStream os = new FileOutputStream(desfile);

  int c;
  while ((c = is.read()) != -1) {
   os.write(c);
  }

  is.close();
  os.flush();
  os.close();

 }

}
运行类:

package com.itshixun.steven.fileio;

import java.io.UnsupportedEncodingException;

public class RunChar {

 public static void main(String[] args) throws UnsupportedEncodingException {

  String s = "中文";
  RunChar.p(s.getBytes(), "default");
  RunChar.p(s.getBytes("GBK"), "GBK");
  RunChar.p(s.getBytes("GB2312"), "GB2312");
  RunChar.p(s.getBytes("GB18030"), "GB18030");
  
  RunChar.p(s.getBytes("ISO-8859-1"), "ISO-8859-1");
  RunChar.p(s.getBytes("ISO-8859-2"), "ISO-8859-2");
  RunChar.p(s.getBytes("ISO-8859-3"), "ISO-8859-3");
  
  RunChar.p(s.getBytes("cp936"), "cp936");
  
  RunChar.p(s.getBytes("UNICODE"), "UNICODE");
  RunChar.p(s.getBytes("UTF-8"), "UTF-8");
  RunChar.p(s.getBytes("UTF-16"), "UTF-16");
  RunChar.p(s.getBytes("UTF-16LE"), "UTF-16LE");
  RunChar.p(s.getBytes("UTF-16BE"), "UTF-16BE");

 }

 public static void p(byte[] b, String enc) {
  System.out.println("----" + enc + "----");
  for (int i = 0; i < b.length; i++) {
   System.out.print(Integer.toHexString(b[i]).substring(
     Integer.toHexString(b[i]).length() - 2)
     + " ");
  }
  System.out.println();
 }

}
文本为(多国语言):

罗马音部分可能有些错漏...P.S.重复的句子我就不标罗马音了。
No rain no rainbow-home made 家族
流(なが)れる 涙(なみだ)が 静(しず)かに
nagareru namida ga shizuka ni
泪水静静地流敞

何(なに)かの 终(おわ)りを 知(し)らせる
nanika no owari wo shiraseru
预示着什么结局

见上(みあ)げた 云间(くもま)に 青空(あおぞら)
miageta kumoma ni aozora
抬头看云隙间的青空

きっと止(や)まない 雨(あめ)なんてない
kitto yamanai ame nante nai
一定不是永不停息的雨水

No Rain No Rainbow
没有雨就没有彩虹

ずぶ濡(ぬ)れの目(め)の前(まえ)を そっと拭(ぬぐ)うよ
zubunure no me no mae wo sotto nuguu yo
将湿淋淋的未来悄悄地拭去哟

気(き)が付(つ)いたら雨(あめ)も止(や)んで
ki ga tsuitara ame ga yande
苏醒之时雨已经停止

静寂(せいじゃく)が仆(ぼく)を包(つつ)んで
seijaku ga boku wo tsutsunde
静寂包围着我

何(なに)かを语(かた)りかけるように
nanika wo katari kakeru you ni
犹如向我倾述着什么

现(あらわ)れたんだ虹(にじ)のアーチ
arawaretanda niji no arch
显现出弧形的彩虹

雨上(あまあ)がりのアスファルトの香(かお)りで安(やす)らぐ
ame agari asphalt toori de yasuragu
雨水浸透过的柏油路 它的香气让我安心

擦(す)り切(き)れた心(こころ)が ふと踊(おど)り出(だ)す
suri kireta kodomo ga fu to odori dasu
曾经受伤的心 突然开始舞动

水(みず)たまりでダンス あの虹(にじ)の下(した)
mizu tamari de tensa no niji no shita
在水泊中舞蹈 在那彩虹之下

びしょ濡(ぬ)れのスニーカーのまま 踏(ふ)み出(だ)す
bishonure no sneaker no mama fumi dasu
穿着湿透的运动鞋就这样迈着步子

No Rain No Rainbow
No Rain No Rainbow

悲(かな)しみもいつかは 晴(は)れるや
kanashimi mo itsuka wa hareruya
总有一天悲伤也会消散

Uh. Ah. 一昼夜(いっちゅうや) 泣(な)き明(あ)かして见(み)えたのは
hmm ah 。icchuuya naki akashite mieta nowa
Uh. Ah.整夜的哭泣 能够看到的是

七色(なないろ)に心(こころ)を 染(そ)める光(ひかり)
nanai yori kokoro wo someru hikari
将心灵染满七色的光芒

流(なが)れる 涙(なみだ)が 静(しず)かに
泪水静静地流敞

何(なに)かの 终(おわ)りを 知(し)らせる
预示着什么结局

见上(みあ)げた 云间(くもま)に 青空(あおぞら)
抬头看云隙间的青空

きっと止(や)まない 雨(あめ)なんてない
一定不是永不停息的雨水

伤(きず)ついた 胸(むね)の奥(おく)に
kisu tsuita mune no oku ni
受伤的内心深处

キラやかな 虹(にじ)が架(か)かる
kirayaka na niji ga kakaru
架起光彩夺目的彩虹

すべてはそう、 ここから始(はじ)まる
subete wa sou koko kara hajimaru
一切都从这里开始

いつかは晴(は)れる No Rain No Rainbow
i tsuka wa hareru
总有一天会放睛 No Rain No Rainbow

いつかは今(いま)の 悩(なや)みさえも
itsuka wa ima no nayami sae mo
不知何时 连如今的烦恼

懐(なつ)かしく 感(かん)じる 日(ひ)が来(く)るよ
natsukashiku kanjiru hi ga kuru yo
也感到怀念的日子到来了

それまでは 泣(な)いたっていい
sore made wa naitatte ii
那么 哭泣也没关系

ここは长(なが)い人生(じんせい)の通过(つうか)点(てん)
kokoha  nagai jinsei no tsuukaten
这是漫长人生的必经之路

时(とき)に足(あし)を止(と)めたっていい
toki ni ashi wo tometatte ii
时而停下来也没关系

涙(なみだ)で洗(あら)い流(なが)すまで
namida de arai nagasu made
直到泪水洗刷一切

もしかしてもうダメなのかも
moshikashite mou dame nano kamo
也许没有什么作用

そう思(おも)ったよ 何(なん)回(かい)も
sou omotta yo nankai mo
我这么认为 很多次

すべてを投(な)げ出(だ)し何(なに)もかも
subete wo nage dashi nani mo kamo
将一切抛弃 无论是什么

谛(あきら)めようとも思(おも)ったけど
akirameyou to omotta kedo
虽然想放弃

できない自分(じぶん)を谁(だれ)かのせいに
dekinai jibun no taikakusen ni
将无能的自己归结为他人之错

言(い)い訳(わけ)にして 生(い)きてくより
iiwake ni shite ikiteku yori
 给予辩解 因为要生存下去

できないならば自分(じぶん)なりに
dekinai nara jibun nari ni
如果做不到还是自己

不器用(ぶきよう)でも ぶつかっていくべき
bukiyou demo butsukatteku beki
即使做不好 也应该去面对

No Rain No Rainbow
No Rain No Rainbow

苦(くる)しみもいつかは 晴(は)れるや
kurushimi mo itsuka wa hareruya
痛苦总有一天会消散

上(うわ)の空(そら) おぼろげな仆(ぼく)に见(み)えたのは
uwa no sora oboroge na boku ni mieta nowa
心神不宁 平凡的我看到的是

七色(なないろ)に明日(あす)を 照(て)らす光(ひかり)
nai noni yasupocchi terasu hikari
照亮明天的七色之光

流(なが)れる 涙(なみだ)が 静(しず)かに
泪水静静地流敞

何(なに)かの 终(おわ)りを 知(し)らせる
预示着什么结局

见上(みあ)げた 云间(くもま)に 青空(あおぞら)
抬头看云隙间的青空

きっと止(や)まない 雨(あめ)なんてない
一定不是永不停息的雨水

伤(きず)ついた 胸(むね)の奥(おく)に
受伤的内心深处

キラやかな 虹(にじ)が架(か)かる
架起光彩夺目的彩虹

すべてはそう、 ここから始(はじ)まる
一切都从这里开始

いつかは晴(は)れる No Rain No Rainbow
总有一天会放睛 No Rain No Rainbow

谁(だれ)もが痛(いた)みを抱(かか)えてるんだ
dare mogaita mi o kakaeterunda
谁都会有伤痛

きっと今(いま)、试(ため)されてるんだ
kitsuto ima tame sareterunda
今天一定要尝试

眠(ねむ)れぬ夜(よる)も 踏(ふ)ん张(ば)ってぐっと堪(こた)えろ
nemurenu  yorumo fun batsute gutto kota uro
无眠的夜晚 努力的站住、坚持住

苦(くる)しい状况(じょうきょう)でも耐(た)えろ
kurushii zhiyoukiyou demotaero
无论多么痛苦也要忍住

その日々(ひび)が君(きみ)を强(つよ)くさせるから
sonohibi ga kimiwo tsuyo kusaseru kara
那些日子会让你变得坚强

スゥーと云(くも)の隙间(すきま)からさす
sora ga kumonosukima karasasu
“唰”地一下指向云隙间

光(ひかり)がすべてを包(つつ)む
hikariga subete wo tsutsumu ?
阳光笼罩着一切

流(なが)れる 涙(なみだ)が 静(しず)かに
泪水静静地流敞

何(なに)かの 终(おわ)りを 知(し)らせる
预示着什么结局

见上(みあ)げた 云间(くもま)に 青空(あおぞら)
抬头看云隙间的青空

きっと止(や)まない 雨(あめ)なんてない
一定不是永不停息的雨水

伤(きず)ついた 胸(むね)の奥(おく)に
受伤的内心深处

キラやかな 虹(にじ)が架(か)かる
架起光彩夺目的彩虹

すべてはそう、 ここから始(はじ)まる
一切都从这里开始

いつかは晴(は)れる No Rain No Rainbow
总有一天会放睛 No Rain No Rainbow

モノクロの世界(せかい)に 仆(ぼく)を救(すく)うように(×4)
tinokurono  sekaini  boku wo sukuuyouni
将我从黑暗世界中拯救出来吧

物音(ものおと)をせずに 七色(なないろ)を一(ひと)涂(ぬ)り(×4)
monooto wosesuni nanairowo  hitonuri
无声地涂上一层七彩之色

你可能感兴趣的:(java,论论,io,string,file,c,class,hex)