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包中定义了多个流类型(流或抽象类)来实现输入/输出功能:可以从不同的角度对其进行分类: 按数据流的方向不同可以分为输入流和输出流 从文件读数据为输入流:往文件写数据为输出流 按处理数 ...
随机推荐
- ELK+Kafka
kafka:接收java程序投递的消息的日志队列 logstash:日志解析,格式化数据为json并输出到es中 elasticsearch:实时搜索搜索引擎,存储数据 kibana:基于es的数据可 ...
- ps和top进程监控
一.名词解释 1.什么是进程(what is process)? 答:进程是程序运行的过程,伴有动态,生命和运行状态.(组成:1.已分配内存的地址空间 2.安全属性,包括所有权凭据和特权 3.程序 ...
- 【LeetCode】309、最佳买卖股票时机含冷冻期
Best Time to Buy and Sell Stock with Cooldown 题目等级:Medium 题目描述: Say you have an array for which the ...
- [IJCAI-17 口碑商家客流量预测]
IJCAI-17 口碑商家客流量预测 第 1 赛季截止日期 2017/03/14 赛制介绍 重要时间2月8日 08:00: 评测启动3月7日 10:00: 报 ...
- Hibernate——简单的增、删、改、查操作
思路: 1.导入hibernate jar包 2.导入mysql jar包 3.创建数据库 4.创建java实体类 5.编写hibernate.cfg.xml配置文件 6.编写dao类 目录: 数据表 ...
- Python pymysql对数据库的基础操作
示例数据库名demo,表名info select * from info; 查看该表数据 +----+-------+--------+-----+---------------------+---- ...
- hbase的读写过程
hbase的读写过程: hbase的架构: Hbase真实数据hbase真实数据存储在hdfs上,通过配置文件的hbase.rootdir属性可知,文件在/user/hbase/下hdfs dfs - ...
- 【Linux 驱动】简单字符设备驱动架构(LED驱动)
本文基于icool210开发板,内核版本:linux2.6.35: 驱动代码: (1)头文件:led.h #ifndef __LED_H__ #define __LED_H__ #define LED ...
- urllib库:分析Robots协议
1from urllib.robotparser import RobotFileParser 2import ssl 3from urllib.request import urlopen 4ssl ...
- JVM 堆内存设置原理(转)
堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...