Java基础学习-IO流
package IObasics;
import java.io.FileWriter; import java.io.IOException; /*IO流 * 通过数据流、序列化和文件系统提供系统输入和输出。 * 文件上传,复制文件,下载文件 * 输出流: * java.io 类 FileWriter 构造方法详细信息 : public FileWriter(String fileName) throws IOException根据给定的文件名构造一个 FileWriter 对象。 参数: fileName - 一个字符串,表示与系统有关的文件名。 抛出: IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它 public FileWriter(String fileName, boolean append) throws IOException根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。 参数: fileName - 一个字符串,表示与系统有关的文件名。 append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。 抛出: IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它 * * * 方法: 从类 java.io.OutputStreamWriter 继承的方法 void close() 关闭此流,但要先刷新它。 void flush() 刷新该流的缓冲。 String getEncoding() 返回此流使用的字符编码的名称。 void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 void write(int c) 写入单个字符。 void write(String str, int off, int len) 写入字符串的某一部分。 从类 java.io.Writer 继承的方法 void write(char[] cbuf) 写入字符数组。 void write(int c) 写入单个字符。 append, append, append, write, write 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait *输入流: * **/ /*需求: 在文件中写数据 写数据-输出流 */ public class IO_basics_filerwriter { public static void main(String[] args) throws IOException { FileWriter fw=new FileWriter("d:\\test.txt"); /*输出流对象做了那些事情: 1.调用系统资源创建了一个文件 2.创建输出流对象 3.把输出流对象指向文件*/ /*操作数据的方法 * close() 刷新缓冲区 流对象还可以使用 * flush() 先刷新缓冲区,然后通知系统释放资源 流对象不可以使用 * * * * */ fw.write("IO流练习"); fw.write("java"); fw.flush();/*刷新内存缓冲区*/ fw.close();/*释放资源*/ } }
package IObasics; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; /*java.io * 字符缓冲流类 * BufferedWriter:对字符得高效输出 * BufferReader:对字符得高效输入 * * * */ public class IO_basics_bufferwriter { public static void main(String[] args) throws IOException { /* BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt")); bw.write("hello"); BufferedReader br=new BufferedReader(new FileReader("fr.txt")); int ch; while((ch=br.read())!=-1){ System.out.println((char)ch); } bw.close(); br.close();*/ /*copy_one("fr.txt","fw.txt");*/ /*newline();*/ /*readline();*/ /*copy_two("fr.txt","fw.txt");*/ collection_to_txt("fr.txt"); } /*文本复制方法*/ public static void copy_one(String filename_one,String filename_two) throws IOException { BufferedReader br=new BufferedReader(new FileReader(filename_one)); BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two)); int ch; while((ch=br.read())!=-1) { bw.write(ch); } bw.close(); br.close(); } /*字符缓冲流的特殊功能 * newline():newline 是相当于换行符 windows的换行符是 \r\n mac\n linux\r*/ public static void newline() throws IOException { BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt")); for (int i = 0; i <10; i++) { bw.write("hello wolrd"+i); bw.newLine(); } bw.close(); } /*readline():redaline 一次读取一行 但是不读取换行符*/ public static void readline() throws IOException { BufferedReader br=new BufferedReader(new FileReader("fw.txt")); String line; while((line=br.readLine())!=null) { System.out.println(line); } br.close(); } /*利用特殊功能复制文本文件*/ public static void copy_two(String filename_one,String filename_two) throws IOException { BufferedReader br=new BufferedReader(new FileReader(filename_one)); BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two)); String line; while((line=br.readLine())!=null) { bw.write(line); bw.newLine(); } bw.close(); br.close(); } /*把集合中的数据写到文本文件*/ public static void collection_to_txt(String filename_two) throws IOException { ArrayList<String> ar=new ArrayList<String>(); for (int i = 0; i < 10; i++) { ar.add("a"); } BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two)); for (int i = 0; i < ar.size(); i++) { String arr=String.valueOf(ar.get(i)); bw.write(arr); } bw.close(); } }
Java基础学习-IO流的更多相关文章
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- java基础之IO流(一)字节流
java基础之IO流(一)之字节流 IO流体系太大,涉及到的各种流对象,我觉得很有必要总结一下. 那什么是IO流,IO代表Input.Output,而流就是原始数据源与目标媒介的数据传输的一种抽象.典 ...
- Java基础之IO流整理
Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...
- Java基础之IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java基础之 IO流
javaIO流 IO流 : (input output) 输入输出流 :输入 :将文件读到内存中 输出:将文件从内存输出到其他地方. IO技术的作用:主要就是解决设备和设备之间的数据传输问题 ...
- 【java基础】]IO流
IO流 概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他 ...
- java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理
一.输出字节流 输出字节流的体系: -------| OutputStream:所有输出字节流的基类(抽象类) ----------| FileOutputStream:向文件输出数据的输出字节流(把 ...
- java基础之io流总结一:io流概述
IO流概念: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.io流是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. IO流的分类: 根据处理数据类型的不同分为:字符流 ...
- JAVA基础学习day21--IO流三-File、Properties、PrintWriter与合并、分割流
一.File 1.1.File概述 文件和目录路径名的抽象表示形式. 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有 ...
随机推荐
- android 6 (API 23) 及更高版本 面向 NDK 开发者的 Android 变更
Android N 已经出来,有了好大的变化,对于我们开发者来说,最大的影响莫过于**NDK**相关东西. 以下是在中国谷歌开发者社区看到的.里面有好多的变化,欢迎大家来讨论. 发布人:开发顾问 Dm ...
- 记一次centos7挂在nas盘的踩坑经过
p:first-child, #write > ul:first-child, #write > ol:first-child, #write > pre:first-child, ...
- HBA 卡和RAID 卡
HBA卡: 只从HBA的英文解释HOST BUS ADAPTER(主机总线适配器)就能看出来,他肯定是给主机用的,一般HBA就是给主机插上后,给主机扩展出更多的接口,来连接外部的设备.大多数讲到HBA ...
- HadoopHA简述
1 概述 在hadoop2.0之前,namenode只有一个,存在单点问题(虽然hadoop1.0有 secondarynamenode,checkpointnode,buckcupnode这些,但是 ...
- Django 之基础学习
阅读目录 配置 视图层之路由系统配置 模版层 模版过滤器 request & response Ajax Cookie Session 分页 文件传输 Django MTV模型 Django ...
- python数据可视化、数据挖掘、机器学习、深度学习 常用库、IDE等
一.可视化方法 条形图 饼图 箱线图(箱型图) 气泡图 直方图 核密度估计(KDE)图 线面图 网络图 散点图 树状图 小提琴图 方形图 三维图 二.交互式工具 Ipython.Ipython not ...
- Java并发之Semaphore的使用
Java并发之Semaphore的使用 一.简介 今天突然发现,看着自己喜欢的球队发挥如此的棒,然后写着博客,这种感觉很爽.现在是半场时间,就趁着这个时间的空隙,说说Java并发包中另外一个重量级的类 ...
- linux中shell变量$#,$@,$0,$1,$2的含义
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- Linux防火墙--iptables学习
iptables是Linux系统提供的一个强大的防火墙工具,可以实现包过滤.包重定向.NAT转换等功能.iptables是免费的,iptables是一个工具,实际的功能是通过netfilter模块来实 ...
- MyBatis正在爬的坑
换了份工作,开始接触Mybatis,开一篇文章记录一下自己遇到的坑 2018-06-20 今天遇到了一个问题,编好的sql语句在数据库可以执行但是写到程序里边就GG,什么问题呢?一直纠结在程序哪里写错 ...