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概述 文件和目录路径名的抽象表示形式. 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有 ...
随机推荐
- Ionic上滑刷新
上拉加载用的是ionic控件ion-infinite-scroll,使用示例如下: <ion-infinite-scroll (ionInfinite)="doInfinite($ev ...
- 2 TensorFlow入门笔记之建造神经网络并将结果可视化
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- LeetCode:比较含退格字符串【844】
LeetCode:比较含退格字符串[844] 题目描述 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = ...
- linq中将int类型转换为string类型,toString()报错
今天同事在调试程序的时候,报了一个不寻常的错误, “LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式 ...
- WPF ListBox ItemContainerStyle 设置BackGround 和 BorderBrush 无效
今天更改ListBox,用到ItemContainerStyle设置样式,设置Style.Triggers时,BackGround和BorderBrush均无效,其他效果正常. 翻看WPF编程宝典,发 ...
- InterruptedException异常
本文总结自:https://blog.csdn.net/asdfsadfasdfsa/article/details/78808131 什么样的方法会抛出InterruptedException异常? ...
- 20145109 《Java程序设计》第八周学习总结
Chapter 15 API java.util.logging package The constructor of Logger class is protected. If Logger ins ...
- JavaEE之注解
1注解:Annotation注解,是一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次,给计算机,JVM提供解读信息的. 2注解的作用:编译检查:代码分析,编 ...
- HTTP与抓包
HTTP就是超文本传输协议,底层使用socket TCP长连接,基于请求与响应,是同步请求. socket 绝对多数语言都是支持socket的,底层走的是二进制传输. HTTP协议实际上是对Socke ...
- IE6+以上清除浮动普遍方法总结
浮动,CSSfloat属性.学过的人应该知道这个属性,平时用的应该也是很多的.特别是在N栏布局中. 但是我们会经常遇到这样一种情况,前面的元素浮动之后会影响后面的元素,后面的元素需要用清除浮动来消灭前 ...