java io流 读取文件内容并显示

java io流 读取文件内容并显示
java io流 读取文件内容并显示

java io流读取文件内容并显示import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

public class T2 {

/**

* @param 苏苏

*/

public static void main(String[] args) {

T2 t2=new T2();

t2.readFile();

}

public void readFile(){

File file=new File("c:/Test.txt");

try {

FileReader fr=new FileReader(file);//读文件BufferedReader br=new BufferedReader(fr);//缓冲读String content;

try {

//readLine()读一行

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

}

} catch (IOException e) {

e.printStackTrace();

}

} catch (FileNotFoundException e1) { e1.printStackTrace();

}

}

}

输入与输出流和线程习题

输入与输出流 一、选择题 1.流的传递方式是(B) A. 并行的 B. 串行的 C. 并行和串行 D. 以上都不对 2.下列不是java的输入输出流的是(A) A. 文本流 B. 字节流 C. 字符流 D. 文件流 3.凡是从中央处理器流向外部设备的数据流称为(D) A. 文件流 B. 字符流 C. 输入流 D. 输出流 4.获取一个不包含路径的文件名的方法为(A) A. String getName( ) B. String getPath( ) C. String getAbslutePath( ) D. String getParent( ) 5.下列属于文件输入输出类的是(D) A. FileInputStream和FileOutputStream B. BufferInputStream和BufferOutputStream C. PipedInputStream和PipedOutputStream D. 以上都是 6.下列不属于FileInputStream输入流的read()成员函数的是(D) A. int read(); B. int read(byte b[]); C. int read(byte b[],int offset,int len); D. int read(int line); 7.当处理的数据量很多,或向文件些很多次小数据,一般使用(C)流 A. DataOutput B. FileOutput C. BufferedOutput D.PipedOutput 8.当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用(D)流 A. DataOutput B. FileOutput C. BufferedOutput D. PipedOutput 9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文

java输入输出流总结

一、数据流的基本概念 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。 java的标准数据流:标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种: 标准输入studin,对象是键盘。 标准输出stdout,对象是屏幕。 标准错误输出stderr,对象也是屏幕。 二、java.io包中的数据流和文件类 字节流:从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。 InputStream、OutputStream FileInputStream、FileOutputStream PipedInputStream、PipedOutputStream ByteArrayInputStream、ByteArrayOutputStream FilterInputStream、FilterOutputStream DataInputStream、DataOutputStream BufferedInputStream、BufferedOutputStream 字符流:从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。 Reader、Writer InputStreamReader、OutputStreamWriter FileReader、FileWriter CharArrayReader、CharArrayWriter PipedReader、PipedWriter FilterReader、FilterWriter BufferedReader、BufferedWriter StringReader、StringWriter 三、字节流方法 InputStream 和OutputStream read():从流中读入数据 skip():跳过流中若干字节数 available():返回流中可用字节数 mark():在流中标记一个位置 reset():返回标记过得位置 markSupport():是否支持标记和复位操作 close():关闭流 int read() :从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]) :读多个字节到数组中。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引of f开始的位置,并返回读取得字节数。 write(int b) :将一个整数输出到流中(只输出低位字节,抽象) write(byte b[]) :将字节数组中的数据输出到流中 write(byte b[], int off, int len) :将数组b中从off指定的位置开始,长度为len的数据输出到流

Java的输入与输出流(实验报告)

成都大学实验报告 实验项目名称Java的输入与输出流 一、实验目的: 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 二、实验内容(包括源程序及相关说明): 1. 分别使用FileWriter 和 BufferedWriter 往文件中写入10万个随机数,比较用时。源代码如下: (1) import .*; public class Ex1_1 { public static void main(String[] args) throws IOException{ long t=(); FileWriter fw =new FileWriter("d:\\"); for(int i=1;i<=100000;i++) { ((int)()*10000)+" \n"); } (); t=()-t; "The elapsed: "+t); } } (2) import .*; public class Ex1_1 { public static void main(String[] args) throws IOException{ long t=(); BufferedWriter fw=new BufferedWriter(new FileWriter("d:\\")); for(int i=1;i<=100000;i++){

((int)()*10000)+"\n"); } (); t=()-t; "The elapsed: "+t); } } 2. 生成一个 html文件,使其能显示2的幂次(0~9)的表格如下: 代码如下: import .*; public class Ex1_1 { public static void main(String[] args) throws IOException{ BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\")); ("

"); (); (""); for(int i=0;i<=9;i++){ (""); } ("
Power of 2Value
"+i+""+(i, 2)+"
"); (); (); } } 3. 在文本文件中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。 第一种实现方法 代码如下: import class EXP1_1 { public static void main(String[] args) throws IOException{ long t =(); String filename="D:\\"; FileInputStream fis=new FileInputStream(filename); int count=0;

输入输出流

第十章 输入/输出流
程序在运行时通常要和外部进行交互, 即从外部读取数据或向外部设备发送数据, 这就 是所谓的输入/输出(Input/Output)。 数据可以来自或者发往文件、 内存、 另一个程序或网络。 数据也可有不同的格式,例如可以是各种编码(ASCII 码或 Unicode 码等)的字符串、图像、 声音或对象等等。 Java 语言使用抽象概念——流来描述程序与数据发送或接收者之间的数据 通道。使用输入/输出流,程序员可以方便灵活和安全地实现输入输出功能。
§10.1 输入/输出基本概念
10.1.1 外部设备与文件
我们可以从不同角度对外部设备进行分类。 按照外部设备的工作特性, 我们可将外部设 备分为两类:存储设备和输入/输出设备。 存储设备用于存储信息,包括硬盘、软盘、磁带、光盘等。程序可将数据写入到这些设 备上,也可从这些设备读出数据,数据通常组织为文件形式。这类设备上存储的数据在物理 上往往是按字符块组织的,因而又将它们称为块设备。 输入/输出设备又可分为输入设备和输出设备。 输入设备是计算机用于接受外界信息的 设备,诸如键盘、鼠标、扫描仪等均为输入设备;输出设备是将计算机处理完毕的数据送往 外界的设备,诸如显示器、打印机、绘图仪等均为输出设备。由于这两类设备上的数据往往 是以字符为单位组织的,所以又称它们为字符设备。 计算机程序要与外界进行交互就必须使用相应的机制与输入/输出设备打交道。 程序的 输入是指从输入设备接收数据,程序的输出是指将数据传递给外部设备。 早期的高级程序设计语言对特定的外部设备提供特定的输入/输出操作, 这导致设计出 来的程序代码可移植性很差。后来引入了文件(file)的概念,在程序中不仅可以声明文件 并将文件作为输入/输出的对象, 而且还可以在文件与某个外部设备之间建立关联, 将文件 作为输入设备与输出设备的抽象描述。 目前文件已成为高级程序设计语言输入/输出机制的 基本概念。 一个文件必须有一个由用户命名的唯一名字。 文件可用于存储程序和数据, 还可用于提 高程序的设备无关性, 所谓设备无关性不仅指程序要独立于同类设备的具体台号, 而且还要 独立于设备的类型。 当我们的程序向屏幕或打印机输出时, 不必考虑使用的是哪一种型号的 显示器或打印机。 在操作系统中, 输入/输出设备被视作一种特殊的文件, 这类文件的名字是由操作系统 预先规定好的。例如在 MS-DOS 中显示器被命名为 CON 的文件(控制台终端 console 的缩 写) 、打印机被命名为 PRN 的文件(printer 的缩写) 。这样,程序的输入/输出操作采用了 与文件统一的方式,而不用理会实际的物理设备是什么。
10.1.2 文件的基本概念
Java 语言将文件看作是字节的序列, 即由一个个字节的数据顺序组成。 例如我们要将一 个班全体学生的基本资料存放在一个文件中, 文件中的数据并不是由学生记录组成的, 而是 由一个个字节组成的。 如何将文件中的这些字节组织为记录是由程序完成的, 文件本身并没 有划定任何边界。因而这种文件又称为流式文件(stream file) 。 (1)文本文件与二进制文件 根据文件中数据的组织形式, 可将文件分为文本文件和二进制文件两类。 文本文件存放 的是 ASCII 码(或其他编码的)字符,使用 Windows 操作系统的记事本打开可正确查看其
-1-

输入输出流

实验七 Jdbc编程1.实验目的 (1)掌握通过JDBC方式操作数据库的基本步骤。 (2)掌握增、删、改、查记录等的方法。 (3)掌握查询记录以及遍历查询结果的方法。 2.实验内容 实验题1 学生信息管理。 创建student表,包含学生的学号、姓名、年龄信息。 ①根据学号,可以查询到学生的姓名和年龄; ②给定学生的学号、姓名、年龄,在表中追加一行信息; ③给定学生的学号,可以从表中删除该学生的信息; [基本要求] 对上面的每一个功能编写相应的函数,并测试。 数据库中建立student表如下: 根据学号查询代码: 查询结果:

插入代码: 插入结果: 删除代码: 删除结果: 实验题2Jdbc编程。在MySql数据库的test库中,建一个表student,其内容如下表所示,将表中score大于60的记录的信息输出到控制台。 学生信息表 数据库中建立score表如下:

输出结果: 程序代码如下: package mysql; import java.sql.*; public class Score{ public static void main(String[] args){ try{ Class.forName("com.mysql.jdbc.Driver"); }catch (ClassNotFoundException e){ e.printStackTrace(); } //DriverManager get connection try{ Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","1"); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from score where Score > 60"); https://www.360docs.net/doc/d410663302.html,st(); //int rows = rs.getRow(); rs.afterLast(); while(rs.previous()) { System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3)+ "\t" + rs.getString(4)); } conn.close(); } catch(SQLException e){ System.out.println(e); }

实验8_Java的输入输出流1

实验8 Java的输入输出流 ●实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 ●实验环境 JDK1.4以上版本,Eclipse集成开发环境 ●实验内容 1. 分别使用FileWriter 和BufferedWriter 往文件中写入10万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差; 使用:FileWriter 使用:BufferedWriter

2. 生成一个html文件,使其能显示2的幂次(0~9)的表格如下: Power of 2 Value 0 0 1 1 …… import java.io.*; public class test1 { public static void main(String[] args) throws IOException{ BufferedWriter bw =new BufferedWriter( new FileWriter("d:\\Ex2.html")); bw.write("

"); bw.newLine(); bw.write(""); for (int i=0;i<=9;i++){ bw.write(""); } bw.write("
Power of 2Value
"+i+""+Math.pow(i, 2)+"
"); bw.newLine(); bw.close(); } } 查看运行结果 3. 在文本文件bigbook.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。

输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O 流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库java.nio中采用的便是块IO。 流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。 Java IO模型 : Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。 2.数据流的基本概念 数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。 “流是磁盘或其它外围设备中存储的数据的源点或终点。” 在电脑上的数据有三种存储方式,一种是外存,一种是内存,一种是缓存。比如电脑上的硬盘,磁盘,U盘等都是外存,在电脑上有内存条,缓存是在CPU里面的。外存的存储量最大,其次是内存,最后是缓存,但是外存的数据的读取最慢,其次是内存,缓存最快。这里总结从外存读取数据到内存以及将数据从内存写到外存中。对于内存和外存的理解,我们可以简单的理解为容器,即外存是一个容器,内存又是另外一个容器。那又怎样把放在外存这个容器内的数据读取到内存这个容器以及怎么把内存这个容器里的数据存到外存中呢? 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛: 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管,将两个容器连接起来。将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。

输入输出流

JAVA IO 一)File 类是IO类里唯一操作文件类构造方法为: new File(String filePath) 常用的方法: f.exists() f.delete() f.createFile() f.mkdirs() File[] f = f.listFile() –显示文件名和文件路径String[] s = f.list() --- 显示文件名; 二) OutPutStream 字节输出流–抽象类子类:FileOutPutStream -- 一般报异常是FileNotFoundException OutPutStream outS = new FileOutPutStream(File f); OutPutStream outS = new FileOutPutStream(File f,Boolean b); 当b =true 时表示在文件末尾追加内容这样前面写的内容任然在. 以下就是字节输出流把字符串文字输出到bfh.txt文件里 String pathname = "e:/bfh.txt "; File f = new File(pathname); OutputStream out = new FileOutputStream(f); String str = "祝贺百均成公司sfq"; byte[] b = str.getBytes(); ---- 字节流只能以字节数组形式输出 try { out.write(b); for(int i =0;i

5Java第五单元练习题-输入流与输出流

5Java输入流与输出流 5.1单项选择题 1.实现字符流的写操作类是()。 A.FileReader B.Writer C.FileInputStream D.FileOutputStream 2. 实现字符流的读操作类是()。 A.FileReader B.Writer C.FileInputStream D.FileOutputStream 3.凡是从中央处理器流向外部设备的数据流称为() A. 文件流 B. 字符流 C. 输入流 D. 输出流 4.构造BufferedInputStream的合适参数是哪一个?() A.FileInputStream B.BufferedOutputStream C.File D.FileOuterStream 5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。 A.import java.awt.* ; B.import java.applet.Applet ; C.import java.io.* ; D.import java.awt.Graphics ; 6.下列流中哪个不属于字符流?() A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream 7.流的传递方式是() A. 并行的 B. 串行的 C. 并行和串行 D. 以上都不对 8.字符流与字节流的区别在于() A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用

D. 每次读写的字节数不同 9.下列流中哪个不属于字节流() A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader 10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A.FileInputStream B.FileOutputStream C.DataOutputStream D.FileWriter 11. 下列哪一个import命令可以使我们在程序中创建输入/输出流对象() A.import java.sql.*; B.import java.util.*; C.import java.io.*; D.import https://www.360docs.net/doc/d410663302.html,.*; 12.下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。 File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file); A."./1.txt" B."../my/1.txt" C."c:\\my\\1.txt" D."c:\ my\1.txt" 13.下面语句的功能是( )。 RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); A.打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B.打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。C.打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。D.以上说法都不对。 14.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。 import java.io.*; public class Test { public static void main(String args[]) { try { String s="ABCDE"; byte b[]=s.getBytes(); FileOutputStream file=new FileOutputStream("test.txt",true); file.write(b); file.close(); } catch(IOException e) { System.out.println(e.toString()); } } }

输入输出流总结

输入、输出流总结 一、理解数据流 流一般分为输入流(Input Stream)和输出流(Output Stream)两类。 二、Java的标准数据流 标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种: 标准输入studin,对象是键盘。 标准输出stdout,对象是屏幕。 标准错误输出stderr,对象也是屏幕。 三、字节流方法 字节流:从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。 InputStream、OutputStream FileInputStream、FileOutputStream PipedInputStream、PipedOutputStream ByteArrayInputStream、ByteArrayOutputStream FilterInputStream、FilterOutputStream DataInputStream、DataOutputStream BufferedInputStream、BufferedOutputStream 1、InputStream 和OutputStream read():从流中读入数据 skip():跳过流中若干字节数 available():返回流中可用字节数 mark():在流中标记一个位置 reset():返回标记过得位置 markSupport():是否支持标记和复位操作 close():关闭流 int read() :从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]) :读多个字节到数组中。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。 write(int b) :将一个整数输出到流中(只输出低位字节,抽象) write(byte b[]) :将字节数组中的数据输出到流中 write(byte b[], int off, int len) :将数组b中从off指定的位置开始,长度为len的数据输出到流中 flush():刷空输出流,并将缓冲区中的数据强制送出 close():关闭流 例:打开文件。 本例以FileInputStream的read(buffer)方法,每次从源程序文件OpenFile.java中读取512个字节,存储在缓冲区buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在

实验8输入输出流

实验八输入输出流 【目的】 ①掌握字符输入、输出流的用法; ②掌握RandomAccessFil类的使用; 【内容】 1.学读汉字。 ?实验要求: 编写一个Java应用程序,要求如下: (1)可以将一个由汉字字符组成的文本文件读入到程序中; (2)单击名为“下一个汉字”的按钮,可以在一个标签中显示程序读入的一个汉字; (3)单击名为“发音”的按钮,可以听到标签上显示的汉字的读音。 (4)用户可以使用文本编辑器编辑程序中用到的3个由汉字字符组成的文本文件:training1.txt、training2.txt和training.txt,这些文本文件中的汉字需要 用空格、逗号或回车分隔。 ()需要自己制作相应的声音文件,比如:training1.txt文件包含汉字“你”,那么在当前应用程序的运行目录中需要有“你.wav”格式的声音文件。 ()用户选择“帮助”菜单,可以查看软件的帮助信息。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: ChineseCharacters.java import java.io.*; import java.util.StringTokenizer; public class ChineseCharacters { public StringBuffer getChinesecharacters(File file) { StringBuffer hanzi=new StringBuffer(); try{ FileReader inOne=【代码1】 //创建指向文件f的inOne 的对象 BufferedReader inTwo=【代码2】//创建指向文件inOne的inTwo的对象 String s=null; int i=0; while((s=【代码3】)!=null) //inTwo读取一行 { StringTokenizer tokenizer=new StringTokenizer(s," ,'\n' "); while(tokenizer.hasMoreTokens()) { hanzi.append(tokenizer.nextToken()); } } } catch(Exception e) {} return hanzi; } }

输入输出流(例子)

例14.16 用友元函数实现复数类对象插入和提取运算符重载函数#include using namespace std; class Complex { double Real, Image; public: Complex(double r=0, double i=0) { Real=r; Image=i; } friend istream& operator>>(istream &, Complex &); friend ostream& operator<<(ostream &, Complex &); }; istream&operator>>(istream &in, Complex &c)友元函数{ 注意参数和返回值 in>>c.Real>>c.Image; return in; } ostream&operator<<(ostream &out, Complex &c)友元函数{ 注意参数和返回值 out<0) out<<'+'<

out<>c1>>c2; //解释为operator>>(operator>>(cin, c1), c2); cout< //输入 7 -3<回车> //输入 5+8i 7-3i 返回ppt讲稿 例14.22 编一个程序用于复制文本文件 #include #include

Java的输入与输出流(实验报告)

大学实验报告 实验项目名称Java的输入与输出流 一、实验目的: 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 二、实验容(包括源程序及相关说明): 1. 分别使用FileWriter 和 BufferedWriter 往文件中写入10万个随机数,比较用时。源代码如下: (1) import java.io.*; public class Ex1_1 { public static void main(String[] args) throws IOException{ long t=System.currentTimeMillis(); FileWriter fw =new FileWriter("d:\\Ex1.txt"); for(int i=1;i<=100000;i++) { fw.write((int)(Math.random()*10000)+" \n"); } fw.close(); t=System.currentTimeMillis()-t; System.out.println("The elapsed: "+t); } } (2) import java.io.*; public class Ex1_1 { public static void main(String[] args) throws IOException{ long t=System.currentTimeMillis(); BufferedWriter fw=new BufferedWriter(new FileWriter("d:\\Ex1.txt")); for(int i=1;i<=100000;i++){

C++的输入和输出与标准输出流

* 掌握:输入输出的含意;文件流以及输入/输出的格式控制;标准输出在C++程序中的应用。 * 理解:C++类库中的常用流类。 * 了解:C++的I/O对C的发展。 重点、难点 ◆输入输出的含意;文件流以及输入/输出的格式控制;标准输出在C++程序中的应用。 一、C++ 输入输出的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上。从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件。程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++的输入与输出包括以下3方面的内容: 1、对系统指定的标准设备的输入和输出。简称标准I/O。(设备) 2、以外存磁盘(或光盘)文件为对象进行输入和输出。简称文件I/0。(文件) 3、对内存中指定的空间进行输入和输出。简称串I/O。(内存) C++采取不同的方法来实现以上3种输人输出。为了实现数据的有效流动,C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。 二、C++的I/O对C的发展—类型安全和可扩展性 C语言中I/O存在问题: 1、在C语言中,用prinff和scanf进行输入输出,往往不能保证所输入输出的数据是可靠的、安全的。学过C语言的读者可以分析下面的用法:想用格式符%d输出一个整数,但不小心错用了它输出单精度变量和字符串,会出现什么情况?假定所用的系统int型占两个字节。printf("%d",i);//i为整型变量,正确,输出i的值 printf("%d",f);//f为单精度变量,输出变量中前两个字节的内容 printf("%d","C++");//输出字符串"C++”的起始地址 编译系统认为以上语句都是合法的,而不对数据类型的合法性进行检查,显然所得到的结果不是人们所期望的。 2、在用scanf输入时,有时出现的问题是很隐蔽的。如

c++输入输出流实验报告

实验四输入输出流 实验课程名:面向对象程序设计(C++) 专业班级:学号:姓名: 实验时间:实验地点:指导教师: 一、实验目的和要求 (1) 理解类和对象的概念,掌握声明类和定义对象的方法。 (2) 掌握构造函数和析构函数的实现方法。 (3) 初步掌握使用类和对象编制C++程序。 (4) 掌握对象数组、对象指针和string类的使用方法。 (5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。 (6) 掌握类对象作为成员的使用方法。 (7) 掌握静态数据成员和静态成员函数的使用方法。 (8) 理解友元的概念和掌握友元的使用方法。 二、实验内容 1.定义描述职工工资的类Laborage,数据成员为职工号(No)、姓名(Name[8])、应发工资(Ssalary)、社保金(Security)、实发工资(Fsalary)。定义公有成员函数Input(),在Input()函数内输入职工号、姓名、应发工资、社保金,实发工资由公式:Fsalary=Ssalary-Security计算。定义输出职工工资的成员函数Show()。在显示函数Show()中,职工号、姓名的输出域宽为8、左对齐,其余数据的输出域宽为10、右对齐、保留小数点后两位,输出格式均用预定义格式控制函数设置。在主函数中用Laborage类定义职工对象数组a[3]。用Input()输入职工工资,用Show()显示每个职工的工资。(提示:用getline输入姓名后,必须用回车结束姓名输入) 实验数据: 1001 Zhou Zhi 3000 200 1002 Chen Hua 4000 400 1003 Wang Fan 5000 500 实验代码: #include #include #include using namespace std; class Laborage { public: Laborage(){} void input();

输入输出流及其使用

输入输出流及其使用 (教学内容) 一、任务描述 素数。文件如图所示。 二、任务相关知识 输入输出流iostream 及其常用流状态: 使用iostream输入输出流进行输入输出操作,需要包含头文件”#include

流状态中的left/right dec/oct/hex/ fixed/scientific 这些状态是相互独立的,设置了此,就取消了彼。取消流状态的操作一般为:noshowpos, noshowbase, no uppercase, noshowpoint, noboolalpha 等,也可以通过cout捆绑方式来取消:cout.unsetf( ios :: scientific) 。另外,还有带参数的三个常用的流状态:width( int )---设置显示宽度;fill( char )---设置填充字符;precision( int )—设置有效数位。他们也可以与<<连用:setw( int )/setfill( char )/setpercision( int ), 但需要进行文件包含:#include

文件流: 利用文件流的对象来对文件进行操作: ifstream fin( filename, openmode = ios::in );//把文件作为输入流 ofstream fout( filename, openmode = ios::out );//把文件作为输出流 筛法判断素数: 从2开始的某个连续整数集合,留下2,除去2的所有倍数;留下3,除去所有3的倍数;留下5,除去5的所有倍数,如些等等。留下某个最先遇到的素数,将其所有的倍数从数集中除去,最后,剩下的就全是素数了。接下来要判断一个数是否为素数,可以在求出的素数集合中搜索这个数,如搜索到,则为素数,否则不是。 三、任务实现步骤 1. 文件包含( 为了使用文件流及输入输出流 ): #include ; //using input output #include ; // using file iostream #include ; //using vector 2. 定义10000个元素且值为1的向量,用来构造素数集合: vector prime(10000,1); for(int i=2; i<100; ++i) // 构造素数集合 if(prime[i]) for(int j=i; i*j<10000; ++j) prime[i*j]=0; 3. 使用文件流把包含数据的文件(a.txt )作为输入流: ifstream in("a.txt"); 4. 利用搜索判断是否为素数: for(int a; in>>a && a>1 && a<10000; ) // 判断素数 cout<

实验五 输入输出流

实验五输入输出流 一、实验目的 1.掌握文件的使用 2.掌握字节I/O流、字符类I/O流、缓冲流、数据流等常用流的使用。 3.熟悉对象流、RandomAccessFile类的使用。 二、实验内容 1.利用各种常用IO流的处理方法,编写Java应用程序。 三、实验步骤与要求 第1题文件加密 编写一个Java应用程序,将已存在的扩展名为.txt的文本文件加密后存入另一个文本文件中。 package four; import java.io.*; public class file { public static void main(String args[]) { File readFile =new File("Student.txt"), writeFile =new File("Hello.txt"); String s="欢迎来到北京 welcome"; char b[]=s.toCharArray(); try{ FileWriter out=new FileWriter(readFile,true); out.write(b); out.close(); FileWriter tofile=new FileWriter ("hello.txt"); for(int i=0;i

tofile.write(secret); tofile.close(); FileReader inOne=new FileReader("Hello.txt"); int t=0; System.out.println("存入后:"); while((t=inOne.read(b,0,2))!=-1) { String str=new String(b,0,2); System.out.println(str); } inOne.close(); } catch (IOException e){ System.out.println(e); } } } 第2题读写基本类型数据 编写一个Java应用程序,将若干基本数据写入到一个文件,然后再按顺序读出。

相关文档
最新文档