JAVA笔记24-IO流(2)-节点流举例
节点流类型

例1:
import java.io.*;
public class TestFileInputStream{
public static void main(String args[]){
int b = 0 ;
FileInputStream in = null ;
try{
in = new FileInputStream("TestFileInputStream.java");
}catch(FileNotFoundException e){
System.out.println("找不到文件");
System.exit(-1);//非正常退出
}
try{
long num = 0;
while ((b=in.read()) != -1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println();
System.out.println("共读取了"+num+"个字节");
}catch(IOException e){
System.out.println("文件读取错误");
System.exit(-1);
}
}
}
注意:输出中文的部分显示为“?”。解决方法:用字符流。
例2:
import java.io.*;
public class TestFileOutputStream{
public static void main(String args[]){
int b = 0 ;
FileInputStream in = null ;
FileOutputStream out = null ;
try{
in = new FileInputStream("TestFile.java");
out = new FileOutputStream("d:/TestFile.java");
while((b=in.read()) != -1){
out.write(b);
}
in.close();
out.close();
}catch(FileNotFoundException e){
System.out.println("找不到指定文件");
System.exit(-1);
}catch(IOException e){
System.out.println("文件复制错误");
System.exit(-1);
}
System.out.println("文件已复制");
}
}
例3
import java.io.*;
public class TestFileReader{
public static void main(String args[]){
int c = 0 ;
FileReader fr = null ;
try{
fr = new FileReader("TestFile.java");
while((c = fr.read()) != -1){
System.out.print((char)c);
}
fr.close();
}catch(FileNotFoundException e){
System.out.println("找不到指定文件");
}catch(IOException e){
System.out.println("文件读取错误");
}
}
}
输出中文可以打印出来
例4:char 2个字节 最大65535.系统只能自动新建文件,但不能自动新建目录
import java.io.*;
public class TestFileWriter{
public static void main(String args[]){
FileWriter fw = null ;
try{
fw = new FileWriter("TestFile.java");
for(int c=0;c<=50000;c++){
fw.write(c);
}
fw.close();
}catch(IOException e){
e.printStackTrace();
System.out.println("文件写入错误");
System.exit(-1);
}
}
}
例5:复制文件的练习题 使用FileReader FileWriter
import java.io.*;
public class TestCopyByMyself{
public static void main(String args[]){
FileReader fr = null ;
FileWriter fw = null ;
int c = 0;
try{
fr = new FileReader("TestCopyByMyself.java");
fw = new FileWriter("TestFile.java");//文件不存在的话会自动生成,但目录如果不存在不可以自动生成
while((c=fr.read()) != -1){
fw.write(c);
}
fr.close();
fw.close();
}catch(FileNotFoundException e){
System.out.println("找不到文件");
System.exit(-1);//非正常退出
}catch(IOException e){
System.out.println("文件复制错误");
System.exit(-1);
}
System.out.println("文件已复制");
}
}
JAVA笔记24-IO流(2)-节点流举例的更多相关文章
- IO流之节点流(字节流)
节点流可以分为:字节节点流和字符节点流 数据源直接到程序的成为节点流(低级流) 字节流 输入流----InputStream InputStream 是输入流的抽象父类,若创建对象,需new它的子类 ...
- java:装饰者模式,节点流和处理流
接口: interface Worker { public void dowork(); } 清洁工:被装饰者,节点流 class Clean implements Worker { public v ...
- io流之节点流inputstream、outputstream、reader、writer
例子程序:读取工作空间下 package io; import java.io.*; public class TestFileInputStream { public static void mai ...
- IO流之节点流(字符流)和数据流关闭
输入流----Reader 1 public class Reader { 2 public static void main(String[] args) throws Exception { 3 ...
- JAVA笔记12__字节、字符缓冲流/打印流/对象流/
/** * !!:以后写流的时候一定要加入缓冲!! * 对文件或其它目标频繁的读写操作,效率低,性能差. * 缓冲流:好处是能更高效地读写信息,原理是将数据先缓冲起来,然后一起写入或读取出来. * * ...
- java io 节点流和处理流
JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流 按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方( ...
- JAVA里面的IO流(一)分类2(节点流和处理流及构造方法概要)
IO流根据处理对象的不同分为节点流和处理流. 直接对文件进行处理的流为节点流: 对流进行包装从而实现对文件的优化处理的流为处理流. 节点流类型: 可以看出,节点流主要分这几大类: 文件流 文件流构造方 ...
- Java基础学习总结(13)——流IO
一.JAVA流式输入/输出原理 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据,我们 ...
- Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...
- JAVA里面的IO流(一)分类1(字节/字符和输入/输出)
java.io包中定义了多个流类型(流或抽象类)来实现输入/输出功能:可以从不同的角度对其进行分类: 按数据流的方向不同可以分为输入流和输出流 从文件读数据为输入流:往文件写数据为输出流 按处理数 ...
随机推荐
- 深入理解.NET Core的基元(二)
原文:Deep-dive into .NET Core primitives, part 2: the shared framework作者:Nate McMaster译文:深入理解.NET Core ...
- Elasticsearch 安装 Head 插件
引子:在上一篇文章Elasticsearch入门(一):CentOS 7.6 安装ES 7.0.0中,我们讲了如何在CentOS 7.6环境下安装 Elasticsearch 7.0.下面,我将讲一讲 ...
- vs资源视图加载失败
原因:引用了未知的资源,通过打开时报的错可以定位然后修改
- mysql-jdbc connector
mysql-jdbc connector: https://dev.mysql.com/downloads/connector/j/ 目录: /usr/share/java/mysql-connect ...
- start-all.sh启动HDFS,datanode没有启动
第一次格式化dfs后,启动并使用hadoop,之后如果再次重新执行了格式化(hdfs namenode -format) start-all.sh启动时就会遇到datanode无法启动的问题,通常情况 ...
- 配置Bean的作用域
一.Spring中Bean的5个作用域 在Spring 2.0及之后的版本中,Bean的作用域被划分为5种.如下 singleton 默认值.以单例模式创建Bean的实例,即容器中该Bean的实例只 ...
- LOJ 10214 计算器 题解
题面 k==1时,快速幂就好了: k==2时,exgcd就好了,但要注意取模范围的控制: k==3时,BSGS可以解决高次同余方程: 然后就可以开心的A掉了,但要注意特殊情况的特判 #include ...
- 洛谷 P1801 黑匣子 题解
题面 离线处理: 大体思路就是将数组排序,然后对于第k次询问把不可行的数打上标记,然后从头开始寻找第k个没打标记的点的值(排序后的数组保证了它是第k小的). 实现方法:首先离散化原始数组,得到数组fi ...
- $().click()和$(document).on('click','要选择的元素',function(){})的不同(转https://www.cnblogs.com/sqh17/p/7746418.html)
$(document).on();用于动态绑定事件 jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式.就拿$().click()和$ ...
- PythonError解决方案
# Pip Error pip install * error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visua ...