Java输入输出流2
来源:互联网 发布:复合材料设计软件 编辑:程序博客网 时间:2024/05/29 14:25
输入流demo:
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;public class InputStreamDemo1 {public static void main(String[] args) throws Exception {/*InputStream的子类java.io 类 FileInputStream构造方法摘要 FileInputStream(File file) 指定读取数据的路径(File)FileInputStream(String name) 指定读取数据的路径(String)*///FileInputStream(File file) 指定读取数据的路径(File)String path="E:"+File.separator+"mytest.txt";//创建文件对象File file=new File(path);FileInputStream in=new FileInputStream(file);//读取数据//int read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。 //byte[] b----存储读取来的数据//int的返回值----读取数据的字节总数。//创建字节数组来存储读取来的数据//byte data[]=new byte[100];//int len=in.read(data);// void close() 关闭此文件输入流并释放与此流有关的所有系统资源。//in.close();//System.out.println(data);错误 //将字节数组转换成String//String info1=new String(data);//System.out.println(len);//System.out.println(info1);//hello,大家好!*********************************************//我们的字节数组有100个字节,但是实际保存数据的只有14个字节,所以就会有86个字节是空的。//上面的这个现象怎么排除//1.String str.trim();//2.就是将字节数组中的数据转换成String的时候//String info2=new String(data,0,len);//System.out.println(info2);//上述的做法只是将有数据的部分转化,没有数据的部分依然存在(内存浪费) /*//3我们创建数组的时候就指定数组的大小为文件的大小byte data[]=new byte[(int)file.length()];int len=in.read(data);in.close();String info1=new String(data);System.out.println(len);System.out.println(info1);*//*//int read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个字节数组中。 //byte[] b----保存读取数据的字节数组//int off-----将读取到得数据保存到数组中起始位置//int len-----读取的字节个数byte data[]=new byte[(int)file.length()];int len=in.read(data,5,5);in.close();System.out.println(len);String info1=new String(data);System.out.println(info1);*//*//int read() 从此输入流中读取一个数据字节。 //int的返回值就是读取到得数据 如果已到达文件末尾,则返回 -1。 int temp=in.read();char data=(char)temp;System.out.println(data);*//*//循环读取一段数据char charray[]=new char[(char)file.length()];int len=0;while(in.read()!=-1){int temp=in.read();char ch=(char)temp;charray[len]=ch;len++;}in.close();String str=new String(charray);System.out.println(str);*///定义一个int的变量,保存读取来的数据int temp=0;//定义一个int的变量,循环增量int len=0;//定义一个字节数组---保存读取来的数据byte data[]=new byte[(int)file.length()];//循环读取while((temp=in.read())!=-1){data[len]=(byte)temp;len++;}in.close();String str=new String(data);System.out.println(str);}}
输出流demo:
import java.io.File;import java.io.FileOutputStream;import java.util.Scanner;public class OutputStreamDemo1 {public static void main(String[] args) throws Exception {// OutputStream 字节输出流【抽象类】// FileOutputStream/* * FileOutputStream(File file) 指明数据的输出路径(File) * FileOutputStream(File file, boolean append) 指明数据的输出路径,是否允许覆盖原数据 * FileOutputStream(String name) 指明数据的输出路径(String) * FileOutputStream(String name, boolean append)指明数据的输出路径(String),是否允许覆盖原数据 */// FileOutputStream(File file) 指明数据的输出路径(File)// 创建一个文件输出路径// D:/mytest.txt String path = "E:" + File.separator + "mytest.txt";// 创建一个File对象 File file1 = new File(path);// 创建字节输出流的对象 //FileOutputStream out1=new FileOutputStream(file1);// FileOutputStream(File file, boolean append) 指明数据的输出路径,(是否允许追加)是否允许覆盖原数据 FileOutputStream out1=new FileOutputStream(file1,true);// 从控制台输入数据,然后在使用FileOutputStream将数据写出到E:/mytest.txt// 创建Scanner类的对象 Scanner read = new Scanner(System.in); System.out.println("请输入需要保存的数据:");// 接受数据 String info = read.next();// //写出数据// 将String数据转换成byte[] byte data[] = info.getBytes();// void write(byte[] b) 写出字节数组中全部。 //out1.write(data);// void write(byte[] b, int off, int len) 写出字节数组中部分。 // int// off---数组的起始位置// int len----写出的数据个数// out1.write(data,5,5);// void write(int b)一次写出一个字节的数据 //out1.write(data[0]);// 写出一个字符串 for (int i = 0; i < data.length; i++) { out1.write(data[i]); }// void close() 关闭此文件输出流并释放与此流有关的所有系统资源。 out1.close();}}
0 0
- Java输入输出流2
- Java输入输出流2
- Java输入输出流(2)
- Java输入输出(2)--流
- Java输入输出流(2)
- Java输入输出流-----字符流(2)
- Java输入输出流
- 浅谈java输入输出流
- Java的输入输出流
- Java输入输出流
- 9.1 Java输入输出流
- 【分享】Java输入输出流
- Java的输入输出流
- JAVA中的输入输出流
- java 输入输出流
- 浅谈java输入输出流
- JAVA 输入输出流
- Java输入输出流
- libnids中TCP/IP栈实现细节分析(上)——TCP会话重组
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
- Linux下利用backtrace追踪函数调用堆栈以及定位段错误
- stdafx.h 头文件概述
- 数据的执行过程
- Java输入输出流2
- C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)
- Android Eclipse 注释模板的使用(图文说明)
- android登陆按钮悬浮在软键盘上
- ROS编译:catkin简析
- java数据类型易错点简单总结,欢迎大神前辈补充!谢谢
- JavaScript基础——html5脚本编程
- conv--向量的卷积和多项式乘法
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表