概述

  在Java数据流用到的流包括(Stream)、文件(File流)和I/O流 ,利用该三个流操作数据的传输。

Java控制台输入输出流

 读取控制台使用数据流: BufferedReader和InputStreamReader

 输出控制台使用数据流: PrintStream 常用封装了System.out.println()、System.out.Write()

public static void ReadLine()
{
try{
System.out.println("请输入内容:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String Result="";
do{
Result= br.readLine();
System.out.println("接受的内容:"+Result);
}
while(!Result.toUpperCase().equals("END"));
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}

读写文件操作用到流

  读取文件使用流 FileInputStream、InputStream 、File、FileReader 常用属性 close()、finalize()、read()、available()

  写入文件使用流 FileOutputStream 、OutputStream、File、FileWrite 使用属性close()、finalize()、write()

  public static void FileOpeart()
{
try{
String MyWork="Hello Java ,你好啊!";
byte[] bwiret=MyWork.getBytes();//{11,21,3,40,5};
OutputStream os=new FileOutputStream("c://MyBoo.txt");
// for(int x=0;x<bwiret.length;x++)
// {
// os.write(bwiret[x]);
// }
os.write(bwiret,,bwiret.length);
os.close(); InputStream ReadOS=new FileInputStream("c://MyBoo.txt");
int size=ReadOS.available(); byte[] OutByte=new byte[size];
ReadOS.read(OutByte, , size);
ReadOS.close();
String stm=new String(OutByte);
System.out.println(stm); }
catch(IOException ex)
{
System.out.println("Error"+ex.getMessage());
}
}

  可使用流OutputStreamWriter和OutputStreamWriter来读写文件

public static void FileOpeartWirte()
{
try{
String MyWork="Hello Java ,你好啊!";
byte[] bwiret=MyWork.getBytes();//{11,21,3,40,5};
OutputStream os=new FileOutputStream("c://MyBoo.txt");
OutputStreamWriter WStream=new OutputStreamWriter(os,"utf-8");
WStream.append("大家好!");
WStream.append("\r\n");
//换行
WStream.append("English");
WStream.close();
os.close();
InputStream ReadOS=new FileInputStream("c://MyBoo.txt");
// int size=ReadOS.available();
//
// byte[] OutByte=new byte[size];
// ReadOS.read(OutByte, 0, size);
// ReadOS.close();
// String stm=new String(OutByte,"utf-8");
// System.out.println(stm);
InputStreamReader reader=new InputStreamReader(ReadOS,"utf-8");
StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 转成char加到StringBuffer对象中
}
System.out.println(sb.toString());
reader.close();
// 关闭读取流
ReadOS.close();
// 关闭输入流,释放系统资源
}
catch(IOException ex)
{
System.out.println("Error"+ex.getMessage());
}
}

Java中的目录的操作

  创建目录mkdir( )方法创建一个文件夹、kdirs()方法创建一个文件夹和它的所有父文件夹;

  读取目录:isDirectory() 判断是否目录, list() 方法,来提取它包含的文件和文件夹的列表;

public static void FileMKDir()
{
try{
String Path="c:/tmp/user/java";
File d=new File(Path);
boolean res= d.mkdirs(); String dirname="c:/tmp";
File dt=new File(dirname);
if(dt.isDirectory())
{
System.out.println("目录:"+dirname);
String[] st=dt.list();
for(String sr:st)
{
File ft=new File(dirname+"/"+sr);
if(ft.isDirectory())
{
System.out.println("目录"+dirname+"/"+sr);
}
else
{
System.out.println("文件"+dirname+"/"+sr);
}
}
}
}
catch(Exception ex)
{
System.out.println("Err:"+ex.getMessage());
}
}

Java基础知识➣Stream整理(二)的更多相关文章

  1. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  2. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

  3. java基础知识查漏 二

    一.java基本数据类型所占的内存大小 在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符 单元的字符类型和1种用于表示真值的boolean类型.( ...

  4. Java基础知识学习(二)

    Java语法基础 数据类型.类型转换.运算符.逻辑运算符.参考C#,基本一致 输入输出 输出 System.out.print("abc"); System.out.printf( ...

  5. JAVA基础知识总结:二

    一.数据类型 1.常量 在程序运行的过程中,值不会发生改变的标识符 常量的分类:整数常量.小数常量.布尔值常量.字符常量.字符串常量.null常量 2.变量 表示的值可以发生改变 定义一个变量,需要在 ...

  6. Java基础知识➣集合整理(三)

    概述 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实现(类) ...

  7. JAVA基础知识总结:二十

    一.网络编程基础 1.概念 所谓计算机网络,就是把分布在不同区域的计算机与专门的外部设备使用通信线路连接成一个规模大,功能比较强的网络系统,从而使得计算机之间可以相互通信,共享资源 所谓的网络编程,在 ...

  8. java基础知识总结(二)

    Java中的代码块 java中的代码块是用{}括起来的代码,进行一些功能的限定 静态代码块:在类第一次被初始化的是后执行,负责一些类的初始化操作,仅仅只执行一次 构造代码块:顾名思义,辅助构造器进行初 ...

  9. Java基础知识笔记(二:泛型和枚举)

    1.泛型 与面向对象的多态性相类似,应用泛型可以提高程序的复用性.与多态性不同的是,应用泛型可以减少数据的类型转换,从而提高代码的运行效率.泛型实际上是通过给类或接口增加类型参数实现的.不带泛型的类的 ...

随机推荐

  1. Python3学习笔记05-数字

    Python 数字数据类型用于存储数值 数字类型不能修改,如果改变数字数据类型的值,将重新分配内存空间 以下实例在变量赋值时 Number 对象将被创建: var1 = 10 var2 = 20 也可 ...

  2. http 遇到中文表单 转码

    #include <string> #include <vector> inline BYTE toHex(const BYTE x) { return x>9?x+55 ...

  3. Boost property_tree解析json

    使用Boost property_tree解析json 之前使用jsoncpp解析json,现在才知道boost就有解析的库,学习一下吧 property_tree可以解析xml,json,ini,i ...

  4. configparser模块--配置文件

    该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 import configparser config = ...

  5. Freemaker:操作集合

    <#if (id?index_of('Base') >= 0)> <choose> <when test="rootOrgID !=null and ro ...

  6. ubuntu中文版man

    man默认是英文的,但ubuntu的源里也有中文版的.以下是配置方法: 1)  终端输入sudo apt-get install manpages-zh 2)  安装后修改配置文件sudo gedit ...

  7. IDEA中Git更新合并代码后,本地修改丢失

    IDEA中,使用Git下载了远程服务器的代码,发现自己修改的代码不在了,此时并没有提交,所以在show history中查看不到,慌死了. 因为有冲突的地方,没有办法合并,所以直接使用了远程的代码 无 ...

  8. Codeforces 487E Tourists [广义圆方树,树链剖分,线段树]

    洛谷 Codeforces 思路 首先要莫名其妙地想到圆方树. 建起圆方树后,令方点的权值是双联通分量中的最小值,那么\((u,v)\)的答案就是路径\((u,v)\)上的最小值. 然而这题还有修改, ...

  9. PID控制器开发笔记之七:微分先行PID控制器的实现

    前面已经实现了各种的PID算法,然而在某些给定值频繁且大幅变化的场合,微分项常常会引起系统的振荡.为了适应这种给定值频繁变化的场合,人们设计了微分先行算法. 1.微分先行算法的思想 微分先行PID控制 ...

  10. Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8

    一:卸载系统自带安装的JDK 注:本文参考了< 使用CentOS7卸载自带jdk安装自己的JDK1.8> 通过xshell工具成功连接安装好的虚拟机之后可通过    rpm -qa | g ...