关于学习输入流,输出流的总结。

过程:
输入流通过使用read()方法,读去“源”中的数据;
输出流通过使用write()方法,把数据写入“目的地”;
备注:输入输出是从程序的角度来说的,源——>程序;程序——>目的地。


File类:
程序从一个文件中读取数据(输入流)向另外一个文件写入数据(输出流)。其中文件分:普通文件和设备文件(键盘,显示屏等)。
想要从一个文件中读取数据,就必须先要得到这个文件的信息(大小,名字,路径等等)则File的对象就是用来获取文件的一些信息。
File类的构造函数File(Sting path)path是路径则表示File作用的对象为路径,要是文件名这对象为文件。(当然他还有其他构造函数这就直说一个。你可以查看JDK帮助文档)
File file=new File(“path”);     //定义一个对象
数据的输入输出可以按字节流和字符流分。
创建输入流输出流一定要处理异常。


字节流 :
一。
读取时read()按字节读出(一个字节8为二进制)。
两个主类InputStream和OutputStream这两个是抽象类实现具体方法一般用分FileInputStream和FileOutputStream来创建文件输入流实现read()write()方法
File file=new File(“文件名”);                                                                                          
FileInputStream f1=new FileInputStream(file);//创建输入流

FileInputStream f2=new FileInputStream(“文件名”);
f2.read(“把读取的数据放入”);


FileOutputStream f3=new  FileOutputStream("目的地文件名");//创建输出流
f3.write(“要写入的数据”);
二。
顺序输入流:可以将多个输入流顺序接在一起,在进行输入时,顺序输入流一次打开每个输入流并读取数据,读完后关闭,然后自动切换到下一个输入流。
SequenceInputStream(Enumeration e);//枚举对象

SequenceInputStream(InputStream s1,OutputStream s2);
三。
以上的都是顺序读取和写入的接下来介绍一下随机读取写入的。(FileInputStream和FileOutputStream是顺序读取写入不能随机),RandomAccessFile类他不是InputStream 和OutputStream的子类。但是RandomAccessFile类创造的流既可以作为输出流也可以作为输入流。
构造函数
RandomAccessFile(String name,String mode);参数name是源也可以使目的地,参数mode是r(只读)rw(读写)决定创建的流对文件的访问权利。
RandomAccessFile(File file,String mode);
RandomAccessFile类中有一个
seek(long a);方法,用来定位RandomAccessFile流的读写位置,其中参数a确定读写位置距离文件开头的字节个数。
getFilePointer()方法获取流的当前读写位置
read()从源中读出一个字节的数据
write(byte[] b)写b.length个字节到文件
readLine()从文件中读取一行。如果读取含非ASCII字符的文件是(如汉字)会出现乱码。解决方法
String str=in.readLine();
byte[] b=str.getBytes("iso-8859-1");
String content =new String (b,"GB2312");默认是GB2312可省略。
其余方法查看JDK帮助文档。


字符流:
输入流输出流按字符读取写入(16位)
Reader类和Writer类            子类为InputStream Reader和OutputStreamWriter两者是从字节流到字符流转换的桥梁。前者从输入字节流中读入字节数据按照指定或默认的字符集将其转换成字符后者激昂字符数据转换为字节数据写到输出流。但太麻烦一般用他们两的子类:
FileReader和FileWriter类。其用法和FileInputStream 和 FileOutputStream类似。
对与Writer流,writer方法将数据首先写入缓冲区,每当缓冲区溢出是,缓冲区的内容被自动写入到目的地


缓存流:
上面讲的输入流输出流都是按字节或字符来取数据的太不效率:现在应用缓冲技术,先将要处理的数据放入缓冲区满后在送出。
BufferedReader和BufferedWriter类创建的对象交缓冲输入,缓冲输出流。缓冲输入,缓冲输出流作用的对象是输出流和输入流。
输入流(源)——>BufferedReader,BufferedWriter——>输出流(目的地)。
例如: FileReader fi=new FileReader("student.txt");
BufferedReader b1=new BufferedReader(fi);
String str=b1.readLine();        //注意这里是用的是BufferedReader 的对象调用的readLine();

FileWriter f2=new FileWriter("hello.txt");
BufferedWriter b2=new  BufferedWriter(Writer out);
newLine();    //BufferedWriter流有一个独特的文件写入一个回行府;


过滤:

DataInputStream和DataOutputStream类(FilterInputStream 和 FilterOutputStream派生)创建的对象为数据输入流和数据输出流,他们容许程序按着及其无关的风格读取Java原始数据(各种类型)也就是读取时不必考虑多少个字节。(二进制的形式处理)

构造函数

DataInputStream(InputStream in);

例如:

FileInputStream f1=new FileInputStream(file);//创建输入流

DataInputStream indata=new DataInputStream(fi)

indata.readInt();

FileOutputStream f3=new  FileOutputStream("目的地文件名");//创建输出流

DataOutputStream outdata=new DataOutputStream(f3);

outdata.writeInt();


数组流:

流的源和目的地除了可以是文件外还可以是计算机的内存。

FileInputStream f1=new FileInputStream(System.in);//从建盘中输入

FileInputStream f2=new FileInputStream(System.out);//在屏幕中输出

好吧先写这些不全,以后会再补,只是个人总结,大家可以喷。



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 活动(activity)是工作(workflow)中的基本组成部分,用来表示一个特定的任务或操作。在CSND中,我们详细讨论了工作以及与之相关的活动的概念和用法。 工作是指一系列有序的活动,这些活动按照一定的程和规则组织在一起,以实现特定的目标或完成一项任务。通过工作,可以将复杂的业务程分解为一系列简单的活动,使得整个过程更加可控和可管理。 在CSND上,我们对活动进行了详细的阐述。活动可以定义为程中的一个步骤或一个任务,它可以是人工(即由人手动完成)、自动(即由系统自动执行)或者是一个子程(即将一个大的程拆分为若干小的活动序列)。活动可以具有特定的输入输出,并且可以与其他活动之间存在依赖关系和条件约束。 在CSND中,我们介绍了如何设计和构建一个有效的工作,包括定义活动的输入输出、规划活动的执行顺序和条件、以及监控和管理工作的执行过程。我们还介绍了如何使用工作引擎来自动化工作的执行,并且讨论了一些常见的工作模式和最佳实践。 总结来说,在CSND上我们详解了活动和工作的概念、用法和最佳实践。了解这些概念和技术可以帮助开发人员和系统设计师更好地理解和设计复杂的业务程,提高工作效率和质量。 ### 回答2: 工作是一种将工作任务自动化、组织和跟踪的方法。在计算机科学领域,工作主要用于描述和管理一组相关联的任务,以及控制这些任务之间的程和依赖关系。 CSDN(中国软件开发网)是一个面向开发者和技术爱好者的社区。在CSDN上,人们可以分享编程经验、交解决方案,以及获取各种技术资源。 在CSDN上,关于工作的讨论和文章非常丰富。人们可以找到关于工作概念、原理、实现方法以及在不同领域中的应用等方面的详细说明。CSDN的工作话题讨论区是一个热门的社区板块,许多开发者在这里分享自己的经验和见解。 在CSDN上,人们可以学习到各种工作技术的实际应用。例如,人们可以了解到如何使用程引擎来设计和管理复杂的业务程,以及如何使用工作队列来实现任务调度和分配。此外,CSDN还提供了许多工作软件和工具的评价和比较,帮助人们选择适合自己需求的工作解决方案。 总的来说,CSDN是一个为开发者和技术爱好者提供丰富工作信息和资源的平台。无论是初学者还是熟练的开发者,都可以在CSDN上找到对工作感兴趣的内容,并从中提高自己的技能和知识水平。 ### 回答3: csdn(CSDN)是一个面向IT技术开发者的社区平台,提供各种技术文档、博客、问答、资讯等服务。其中,activity和工作是csdn上的两个重要话题。 Activity(Activity)是Android开发中的一个核心组件,用于构建用户界面和处理用户交互。它代表一个具有用户界面的单个屏幕,能够接收用户的输入并展示相关信息。在Android应用程序中,每个Activity都是由一个独立的界面组成,可以通过调用其他Activity来实现界面间的跳转和切换。Activity还可以处理生命周期事件,如创建、启动、暂停、恢复、停止和销毁等,确保应用程序在用户操作或系统资源限制时的正确响应。 工作(Workflow)是一种逻辑上相关的活动或任务的有序排列,以完成特定的目标。它可以由一系列的操作、决策和条件构成,以及可以并行或串行执行的操作步骤。工作通常用于解决复杂的业务程,通过将任务分解成一系列的步骤,每个步骤都有其特定的责任和要求。在软件开发中,工作可以用于优化业务程、提高工作效率,并提供实时的监控和控制。工作技术还支持自动化和智能化的程执行,可减少人工干预,提高工作质量和准确性。 在csdn上,关于activity和工作的文章和教程非常丰富。开发者可以在平台上学习如何创建和管理Android应用程序中的Activity,并了解常见的生命周期事件和处理方式。此外,还可以找到关于工作的相关文章,了解如何利用工作技术来设计和优化复杂的业务程,提高工作效率和质量。 总体而言,csdn是一个向开发者提供技术资源和交平台的社区,涵盖了包括activity和工作在内的各种技术话题。在这里,开发者可以获取到相关的学习材料和资源,以提升自己的技术水平并解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值