技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

IO流 数据流 DataInputStream DataOutputStream ByteArrayIntOutputStream字节数组 Math.randonm()方法

数据流  解决DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,它属于处理流,需要分别套接在InputStream和OutputStream类型的节点流上。 DataInputStream和DataOutputStream提供了可以存取与机器无关的Java原始类型数据(如int,double等)的方法。 DataInputStream和DataOutputStream的构造方法为:DataInputStream(InputStream in) DataOutputStream (OutputStream out)... 全文

IO流 数据流 DataInputStream ByteArrayIntOutputSt Math.randonm方法

IO流 缓冲流 FileInputStream、BufferedInputStream、BufferedReader、 BufferedWriter、FileReader、FileWriter

节点流:无非是一根管道直接钝到数据源上,直接读,直接写文件字节输入流InputStream,字节输出流OutputStream,字符输入流Reader,字符输出流Writer                处理流: 包在别的流上面的流,相当于包在其他管道之上的管道叫做处理流缓冲流:缓冲流要"套接"在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了新的方法 J2SDK提供了四种缓冲流,其常用的构造方法为:缓冲区可以显著的减少对于IO的读写次数,保护硬盘 BufferedReader(Reader in) 带小桶的输入流 BufferedReader(Reader in,int sz) //sz为自定义缓冲区的大小 BufferedWriter(Writer out)  带小桶的输出流 BufferedWriter(Writer out,int sz)四个类 BufferedInputStream(InputStream in) BufferedInputStream(InputStream in,int size) BufferedOutputStream(OutputStream out) BufferedOutputStream(OutputStream out,int size) 缓冲输入流支持其父类的mark和reset方法。 BufferedReader提供了readLine方法用于读取一行字符串(以\r或\n分隔)。 BufferedWriter提供了newLine用于写入一个行分隔符。对于输入的缓冲流,写出的数据会先在内存中缓存,使用flush方法将会使内存中的数据立刻写出。一根管道上套了一层管道钝住文件,从这个文件里面往外读数据... 全文

io流 FileInputStream BufferedInputStream BufferedReader BufferedWriter

Java的IO流架构

 输入输出是指应用程序与外部设备及其他计算机进行数据交流的操作,如读写硬盘数据、向显示器输出数据、通过网络读取其他节点的数据等。任何一种编程语言必须拥有输入输出的处理方式,Java语言也不例外。Java语言的输入输出数据是以流的形式出现的,并且Java提供了大量的类来对流进行操作,从而实现了输入输出功能。     所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。流序列中的数据可以是没有进行加工的原始数据(二进制字节数据),也可以是经过编码的符合某种格式规定的数据,Java中提供了不同的流类对它们进行处理。流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。... 全文

Java IO流 架构

黑马程序员_IO流的要点整理

---------------------- android培训 、 java培训 、 期待与您交流! ----------------------1、 IO(Input Output)流:IO流用来处理设备之间的数据传输        在读写字符串时,如果在构造时,传入第二个参数为true,将原有文件末尾进行读写... 全文

io流 socket 递归 编码 装饰模式

简介JAVA IO

java.io包下,提供了一系列基于读写的快捷操作,以满足各种不同的需求。在此,io系统引入了流这个概念,它代表了任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。流屏蔽实际的I/O设备中处理数据的细节。java的IO机制都是基于数据流进行输入输出。流IO的好处是简单易用,缺点是效率较低。块IO的效率较高,但编程复杂。下图是IO的层次结构:... 全文

io 结构 字符流

Java的IO操作中关闭流的注意点

一、错误示例1 public void fileCopy() {  FileReader fr = null;  FileWriter fw = null;  try  {   fr = new FileReader("c:\\xy1.txt"); // ①   fw = new FileWriter("c:\\xy2.txt"); // ②   char[] charBuffer = new char[1024];   int len = 0;   while ((len = fr.read(charBuffer)) != -1)   {    fw.write(charBuffer, 0, len);   }   System.out.println("文件复制成功");  }  catch (IOException e)  {   throw new RuntimeException("文件拷贝操作失败");  }  finally  {   try   {    fr.close(); // ③    fw.close(); // ④   }   catch (IOException e)   {    throw new RuntimeException("关闭失败");   }  } }若①中代码出错,fr根本就没有初始化,执行③的时候就会报空指针异常。②④同样是这个道理。二、错误示例2 public void fileCopy() {  FileReader fr = null;  FileWriter fw = null;  try  {   fr = new FileReader("c:\\xy1.txt"); // ①   fw = new FileWriter("c:\\xy2.txt"); // ②   char[] charBuffer = new char[1024];   int len = 0;   while ((len = fr.read(charBuffer)) != -1)   {    fw.write(charBuffer, 0, len);   }   System.out.println("文件复制成功");  }  catch (IOException e)  {   throw new RuntimeException("文件拷贝操作失败");  }  finally  {   try   {    if (null != fr)    {     fr.close(); // ③    }    if (null != fw)    {     fw.close(); // ④    }   }   catch (IOException e)   {    throw new RuntimeException("关闭失败"); // ⑤   }  } }加上是否为空的判断可以避免空指针异常。但是如果③执行出错,程序会直接进入⑤而④根本没有得到执行,导致无法关闭。... 全文

java IO

恶补Java(十三)之Java IO

恶补Java---JavaI/O部分之File类的用法(笔记)  在java中,I/O(输入/输出)是比较乏味的事情,因为看不到明显的运行效果,但输入/输出是所有程序都必需的部分——使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)、用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中。... 全文

java io流 File

Java 7之传统I/O第1篇

       stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。Java的I/O操作类在java.io包下,这些类可以大概分为两类,操作字节流的和操作字符流的类: (1)字节流  表示以字节为单位从stream中读取或往stream中写入信息,即java.io包中的inputstream类和outputstream类的派生类。通常用来读取二进制数据,如图象和声音。  (2)字符流  以Unicode字符为单位从stream中读取或往stream中写入信息。  1、字节输入流下面来看一下操作字节输入流的类的框架结构:由以上的类图可以看出:... 全文

IO操作 输入输出流 Java流 原始流 源代码

Java中的IO流系统详解

摘要:Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。   ... 全文

[2014

一、 File 类       ·一个File类的对象,表示了磁盘上的 文件或目录。... 全文

io Stream 字符流

八:Java之I/O

一、什么是IOJava中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。  ... 全文

字符流 io

java 文件操作(流)(上)

************* 文件操作 **************** File类常见方法: 1,创建。  boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。       和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。... 全文

IO Java

java基础——文件(IO)操作2

一、System.in和 System.out    为了支持标准输入输出设备,Java定义了两个特殊的流对象:System.in和System.out。System.in:对应键盘,是 InputStream 类型的,程序使用 System.in 可以读取从键盘上输入的数据。System.out: 键盘可以被当作一个特殊的输入流,显示器可以被当作一个特殊的输出流。 二、打印流——PrintStream、PrintWrite PrintStream:... 全文

java print流

Java面向对象——JavaBean内省

面向对象初识JavaBean与内省JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。... 全文

javabeans java基础 io流

自定义类型的I/O输出用法

自定义类的输出就是使得类可以自带输入输出符号操作,使得类可以方便使用。如有一个结构体:struct MyStruct { string name; int num; }; 我们可以定义简单的输出,并把输出格式化为:{"name","num"},如下代码:... 全文

The C++ Programming IO流自定义

java基础——文件(IO)操作1

一、流类         Java的流式输入/输出建立在四个抽象类的基础上:InputStream,OutputStream,Reader和Writer。它们用来创建具体流式子类。尽管程序通过具体子类执行输入/输入,但是顶层的类定义了所有流类的基本通用功能。        InputStream和OutputStream设计成字节流类。Reader和Writer为字符流设计。字节流和字符流类形成分离的层次结构。一般,处理字符和字符串时应使用字符流类,处理字节或二进制对象时应用字节流类。 在操作文件流时,按以下方式进行:        1.使用File类找到一个文件... 全文

java InputStreamOutputStr ReaderWriter

java读取文件效率问题

日志原文:http://blog.sohu.com/people/!d2VsbGlteXlAc29odS5jb20=/156798731.html    最近在项目中有一个用smb读取共享文件的应用,在部署过程中发现一个奇怪现象,在公司测试时其用时还马马虎虎,虽是有点慢,但还不至于让人无法忍受.但一部署都客户现场,则超级慢.严重影响系统的使用.没办法只能对其进行整改:    1.首先,将所有的for循环检查一遍,能移出去的尽量移出去,并进行不同方法的封装    2.将原有方法中抛出的异常全部捕捉起来,并将所有该关闭的连接全部在finally里面关闭    3.对线程设置timeout,以防止死锁    最后是对程序进行手术,阅读代码才发现原来代码中下载文件用的是:以字节为单位读取文件内容,一次读一个字节这种方式 就是这个原因造成系统运行超慢:           int tempbyte;              while ((tempbyte = ()) != -1) {                  (tempbyte);               }  将其稍微改动一下,一次性读入多个字节:           byte[] tempbytes = new byte[1024];              int byteread = 0;              // 读入多个字节到字节数组中,byteread为一次读入的字节数              while ((byteread = (tempbytes)) != -1) {                  (tempbytes, 0, byteread);            }  重启运行,原来要近一个小时的下载工作,竟然只用了不到5秒钟,就搞定.  总结:     内存存取时间单位是纳秒级(10E-9),磁盘存取时间单位是毫秒级(10E-3),同样操作一次的开销,内存比磁盘快了百万倍。因此要尽量用缓存流进行读写文件,以减少对磁盘的读取次数.     经只读测试,BufferedReader耗用的时间是RandomAccessFile的10倍以上,FileInputStream耗用的时间是RandomAccessFile的1-2倍,测试读的文件是35M左右,如果文件再大差距更明显.这里后面两个用的是字节byte[] b1=new byte[8*1024],而前面也用的是字符char[] data=new char[8*1024]     注意:如果RandomAccessFile用readLine(),则效果会差很多,耗时会比用字节的慢100多倍.     看来IO读取文件,这里面水还挺深的,有时间明天再整理一下.... 全文

java文件效率 效率影响 java文件测试 io流 java

Java编程那些事儿91——装饰流使用2

11.3.3.2 BufferedReader/BufferedWriter         在进行IO操作时,除了功能以外,程序的执行效率也是必须要考虑的问题。基本的IO类只是注重功能的实现,例如将特定的数据源转换为流对象,而没有过多的关注读写的效率问题,而实际在进行项目开发时,读写效率也是必须要考虑的问题。         为了提高IO类的读写效率,在装饰流中专门制作了一类缓冲流,该类流的作用就是提高流的读写效率,这组缓冲流包含:BufferedInputStream/BufferedOutputStream、BufferedReader/BufferedWriter。... 全文

编程 java exception io null string

error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _T

/usr/include/c++/4.8/streambuf:802:7: error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]' is privatebasic_streambuf(const basic_streambuf& __sb)代码如下:修改为:... 全文

io流 c++ basic

1