例子程序:读取工作空间下

  1. package io;
  2. import java.io.*;
  3. public class TestFileInputStream {
  4. public static void main(String[] args) {
  5. int b = 0;
  6. FileInputStream in = null;
  7. try {
  8. in = new FileInputStream("F:\\share\\workspace\\J2SE\\src\\io\\TestFileInputStream.java");
  9. } catch (FileNotFoundException e) {
  10. System.out.println("找不到文件");
  11. System.exit(-1);
  12. }
  13. try {
  14. long num = 0;
  15. while((b=in.read())!=-1){
  16. System.out.print((char)b);
  17. num++;
  18. }
  19. in.close();
  20. System.out.println();
  21. System.out.println("共读取了 "+num+" 个字节");
  22. } catch (IOException e1) {
  23. System.out.println("文件读取错误"); System.exit(-1);
  24. }
  25. }
  26. }

结果:由于read方法一次读取的是一个字节,一个汉字占的2个字节,所以打印出来汉字是乱码,

  1. package io;
  2. import java.io.*;
  3. public class TestFileInputStream {
  4. public static void main(String[] args) {
  5. int b = 0;
  6. FileInputStream in = null;
  7. try {
  8. in = new FileInputStream("F:\\share\\workspace\\J2SE\\src\\io\\TestFileInputStream.java");
  9. } catch (FileNotFoundException e) {
  10. System.out.println("找不到文件");
  11. System.exit(-1);
  12. }
  13. try {
  14. long num = 0;
  15. while((b=in.read())!=-1){
  16. System.out.print((char)b);
  17. num++;
  18. }
  19. in.close();
  20. System.out.println();
  21. System.out.println("共读取了 "+num+" 个字节");
  22. } catch (IOException e1) {
  23. System.out.println("文件读取错误"); System.exit(-1);
  24. }
  25. }
  26. }
  27. 共读取了 737 个字节

OutputStream:

 

例子程序:文件的复制,如果文件不存在会自动创建HW.java 文件

  1. package io;
  2. import java.io.*;
  3.  
  4. public class TestFileOutputStream {
  5. public static void main(String[] args) {
  6. int b = 0;
  7. FileInputStream in = null;
  8. FileOutputStream out = null;
  9. try {
  10. in = new FileInputStream("f:/share/j2se/IO/HelloWorld.java");
  11. out = new FileOutputStream("f:/share/j2se/IO/HW.java");
  12. while((b=in.read())!=-1){
  13. out.write(b);
  14. }
  15. in.close();
  16. out.close();
  17. } catch (FileNotFoundException e2) {
  18. System.out.println("找不到指定文件"); System.exit(-1);
  19. } catch (IOException e1) {
  20. System.out.println("文件复制错误"); System.exit(-1);
  21. }
  22. System.out.println("文件已复制");
  23. }
  24. }

 Reader:

例子程序:读取本身

  1. package io;
  2.  
  3. import java.io.*;
  4. public class TestFileReader {
  5. public static void main(String[] args) {
  6. FileReader fr = null;
  7. int c = 0;
  8. try {
  9. fr = new FileReader("F:\\share\\workspace\\J2SE\\src\\io\\TestFileReader.java");
  10. int ln = 0;
  11. while ((c = fr.read()) != -1) {
  12. //char ch = (char) fr.read();
  13. System.out.print((char)c);
  14. //if (++ln >= 100) { System.out.println(); ln = 0;}
  15. }
  16. fr.close();
  17. } catch (FileNotFoundException e) {
  18. System.out.println("找不到指定文件");
  19. } catch (IOException e) {
  20. System.out.println("文件读取错误");
  21. }
  22.  
  23. }
  24. }

Writer:

例子程序“

  1. package io;
  2.  
  3. import java.io.*;
  4. public class TestFileWriter {
  5. public static void main(String[] args) {
  6. FileWriter fw = null;
  7. try {
  8. fw = new FileWriter("f:\\share\\j2se\\IO\\unicode.dat");
  9. //char在计算机是用数字表示的,直接把数字写进文件。char是2个字节,最大是65535
  10. //这里就是吧Unicode大多数国家的字符都写进了文件
  11. for(int c=0;c<=50000;c++){
  12. fw.write(c);
  13. if(c%100==0){
  14. fw.write("\n");
  15. }
  16. }
  17. fw.close();
  18. } catch (IOException e1) {
  19. e1.printStackTrace();
  20. System.out.println("文件写入错误");
  21. System.exit(-1);
  22. }
  23. }
  24. }

结果:

  1.  
  2. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  3. €‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ 
  4. ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉ
  5. ĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲų
  6. ŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ

䓋䓌䓍䓎䓏䓐䓑䓒䓓䓔䓕䓖䓗䓘䓙䓚䓛䓜䓝䓞䓟䓠䓡䓢䓣䓤䓥䓦䓧䓨䓩䓪䓫䓬䓭䓮䓯䓰䓱䓲䓳䓴䓵䓶䓷䓸䓹䓺䓻䓼䓽䓾䓿䔀䔁䔂䔃䔄䔅䔆䔇䔈䔉䔊䔋䔌䔍䔎
䔏䔐䔑䔒䔓䔔䔕䔖䔗䔘䔙䔚䔛䔜䔝䔞䔟䔠䔡䔢䔣䔤䔥䔦䔧䔨䔩䔪䔫䔬䔭䔮䔯䔰䔱䔲䔳䔴䔵䔶䔷䔸䔹䔺䔻䔼䔽䔾䔿䕀䕁䕂䕃䕄䕅䕆䕇䕈䕉䕊䕋䕌䕍䕎䕏䕐䕑
䕒䕓䕔䕕䕖䕗䕘䕙䕚䕛䕜䕝䕞䕟䕠䕡䕢䕣䕤䕥䕦䕧䕨䕩䕪䕫䕬䕭䕮䕯䕰䕱䕲䕳䕴䕵䕶䕷䕸䕹䕺䕻䕼䕽䕾䕿䖀䖁䖂䖃䖄䖅䖆䖇䖈䖉䖊䖋䖌䖍䖎䖏䖐䖑䖒䖓䖔䖕
䖖䖗䖘䖙䖚䖛䖜䖝䖞䖟䖠䖡䖢䖣䖤䖥䖦䖧䖨䖩䖪䖫䖬䖭䖮䖯䖰䖱䖲䖳䖴䖵䖶䖷䖸䖹䖺䖻䖼䖽䖾䖿䗀䗁䗂䗃䗄䗅䗆䗇䗈䗉䗊䗋䗌䗍䗎䗏䗐䗑䗒䗓䗔䗕䗖䗗䗘
䗙䗚䗛䗜䗝䗞䗟䗠䗡䗢䗣䗤䗥䗦䗧䗨䗩䗪䗫䗬䗭䗮䗯䗰䗱䗲䗳䗴䗵䗶䗷䗸䗹䗺䗻䗼䗽䗾䗿䘀䘁䘂䘃䘄䘅䘆䘇䘈䘉䘊䘋䘌䘍䘎䘏䘐䘑䘒䘓䘔䘕䘖䘗䘘䘙䘚䘛䘜

  1.  

io流之节点流inputstream、outputstream、reader、writer的更多相关文章

  1. Java I/O流-总结(InputStream,OutputStream,Reader,Writer)

    Java流总结 一. 流的分类 • 按数据流动方向 – 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 • 按照流所处理的数据类型 – 字节流: ...

  2. IO流之节点流(字节流)

    节点流可以分为:字节节点流和字符节点流 数据源直接到程序的成为节点流(低级流) 字节流 输入流----InputStream InputStream 是输入流的抽象父类,若创建对象,需new它的子类 ...

  3. Java:IO流(二)——InputStream/OutputStream具体用法:FileXXXStream、ByteArrayXXXStream

    1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStrea ...

  4. IO流之节点流(字符流)和数据流关闭

    ​输入流----Reader 1 public class Reader { 2 public static void main(String[] args) throws Exception { 3 ...

  5. 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream

    目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流的父类. 表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序 ...

  6. java io 节点流和处理流

    JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流  按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方( ...

  7. JAVA里面的IO流(一)分类2(节点流和处理流及构造方法概要)

    IO流根据处理对象的不同分为节点流和处理流. 直接对文件进行处理的流为节点流: 对流进行包装从而实现对文件的优化处理的流为处理流. 节点流类型: 可以看出,节点流主要分这几大类: 文件流 文件流构造方 ...

  8. JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...

  9. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

随机推荐

  1. 团体程序设计天梯赛L2-024 部落 2017-04-18 11:31 274人阅读 评论(0) 收藏

    L2-024. 部落 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不 ...

  2. POJ1269 Intersecting Lines 2017-04-16 19:43 50人阅读 评论(0) 收藏

    Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15478   Accepted: 67 ...

  3. B-spline Curves 学习之B样条曲线的系数计算与B样条曲线特例(6)

    B-spline Curves: Computing the Coefficients 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关 ...

  4. 3、Docker能干什么?

    简化配置   这是Docker公司宣传的Docker的主要使用场景.虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件.系统),Docker在降低额外开销的情况下提供了同样的功能.它能 ...

  5. Java Float类型 减法运算时精度丢失问题

    package test1; public class Test2 { /*** @param args*/public static void main(String[] args) {   Flo ...

  6. ashx、aspx、ASP.NET MVC

    ashx:ProcessRequest(IHandler的方法)aspx:Page_Load(Page继承IHttpHandler)(RouteHandler)(HttpHandler)(MvcHan ...

  7. MvvmLight框架使用入门(四)

    本篇我们着重介绍ViewModelBase,演示Set和RaisePropertyChanged方法的使用,以及就Cleanup方法释放资源展开讨论. ICleanup 接口.实现该接口的ViewMo ...

  8. (转)Struts2返回JSON数据的具体应用范例

    转载自 yshjava的个人博客主页 <Struts2返回JSON数据的具体应用范例> 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...

  9. Hibernate 框架学习

    什么是hibernate框架? 1.它是应用在javaee 三层架构中的dao层 它的底层就是JDBC 它对JDBC进行了封装,好处就是不用写jdbc的代码,和sql语句,它是一个开源的轻量级框架,现 ...

  10. thinkphp3搜索结果分页

    公司的办公室搬到武昌,办公室水不好喝 还是乐百氏 娃哈哈的水我们oa用的tp3的一套oa,现在boss要求按状态 和类型(2个维度)来搜索案子 数量多,用 分页注意到初始的表单 input的name ...