第九章输入输出流1-4

Code:
  1. packagech09;
  2. importjava.io.BufferedReader;
  3. importjava.io.BufferedWriter;
  4. importjava.io.CharArrayReader;
  5. importjava.io.CharArrayWriter;
  6. importjava.io.File;
  7. importjava.io.FileInputStream;
  8. importjava.io.FileNotFoundException;
  9. importjava.io.FileReader;
  10. importjava.io.FileWriter;
  11. importjava.io.IOException;
  12. importjava.util.Scanner;
  13. classHomeworkch09{
  14. publicHomeworkch09(){
  15. System.out.println("第九章的课后练习题。");
  16. }
  17. //1.编写一个应用程序,读取一个文本文件的内容。
  18. publicvoidkey01(){
  19. Filefile=newFile("E:/Workspaced/javaHomeWork","hello.txt");//与当前应用程序同一目录
  20. //System.out.println(file.getPath());
  21. byteb[]="dd".getBytes();
  22. try{
  23. FileInputStreamfis=newFileInputStream(file);
  24. intn=0;
  25. //测试乱码
  26. Stringstr=null;
  27. while((n=fis.read(b,0,2))!=-1){//两个字节读,防止乱码
  28. str=newString(b,0,n);
  29. System.out.print(str);
  30. }
  31. }catch(FileNotFoundExceptione){//文件找不到的异常
  32. e.printStackTrace();
  33. }catch(IOExceptione){
  34. e.printStackTrace();
  35. }
  36. }
  37. //2.编写一个应用程序,将用户从键盘输入的10行文字存入文件。
  38. publicvoidkey02(){
  39. FileWriterfile=null;
  40. try{
  41. file=newFileWriter("myDoc.txt");
  42. BufferedWriterbw=newBufferedWriter(file);
  43. for(inti=0;i<10;i++){
  44. Scannerreader=newScanner(System.in);
  45. bw.write(reader.nextLine());
  46. bw.flush();
  47. }
  48. file.close();
  49. bw.close();
  50. }catch(IOExceptione){
  51. e.printStackTrace();
  52. }
  53. }
  54. //3,使用数组字符流将俄文字母写入内存,然后再从内存读出。
  55. /**答案输出俄文字母是32个,实际是33个,Ё和Е虽然也是两个不同的字母,但只是在口语中有区别,书写或印刷时可以把简略为Е。*/
  56. publicvoidkey03(){
  57. intstartPosition=(int)'А';//俄文首字母
  58. intendPosition=(int)'Я';//俄文末字母
  59. System.out.println("俄文字母共有:"+(startPosition-endPosition));
  60. //for(inti=1040;i<1072;i++){
  61. //System.out.print((char)i);
  62. //}
  63. intn=-1;
  64. CharArrayWriterout=newCharArrayWriter();
  65. for(inti=startPosition;i<=endPosition;i++){
  66. out.write(i);
  67. }
  68. CharArrayReaderin=newCharArrayReader(out.toCharArray());
  69. try{
  70. while((n=in.read())!=-1){
  71. if(n%2==0){
  72. System.out.println("/n");
  73. }
  74. System.out.printf("/t位置%d,字符/'%c/'",n,(char)n);
  75. }
  76. }catch(IOExceptione){
  77. e.printStackTrace();
  78. }
  79. }
  80. //4、编写一个应用程序,将用户从键盘输入的10个整数存入文件,然后顺序读出。
  81. publicvoidkey04(){//=============使用缓冲流=================
  82. Filefile=newFile("key04.txt");
  83. try{
  84. FileWriterout=newFileWriter(file);
  85. BufferedWriterout2=newBufferedWriter(out);
  86. inti=0;
  87. while(i<2){
  88. Scanners=newScanner(System.in);
  89. Stringstr=s.nextLine();
  90. out2.write(str);
  91. out2.newLine();//写入一个回行
  92. out2.flush();//刷新缓冲区
  93. i++;
  94. }
  95. FileReaderin=newFileReader(file);
  96. BufferedReaderin2=newBufferedReader(in);
  97. Stringintegers=null;
  98. while((integers=in2.readLine())!=null){
  99. System.out.println(integers);
  100. }
  101. }catch(FileNotFoundExceptione){
  102. e.printStackTrace();
  103. }catch(IOExceptione){
  104. e.printStackTrace();
  105. }
  106. }
  107. }
  108. publicclassCh09_1{
  109. publicstaticvoidmain(String[]args){
  110. Homeworkch09hk=newHomeworkch09();
  111. //测试位置
  112. }
  113. }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值