`

java IO流学习笔记二

    博客分类:
  • java
阅读更多

/**
*
*
* 目录分隔符用\\或/
*
* @time 下午11:42:08
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Demo1 {


public static void main(String[] args) {
// writeFile();
// readFile();
// readFile2();
// readFile3();
// readFile4();
copyFile();
}


/************** 字符流 **********************************************************/
/**
* 读取一个文件内容
*/
public static void readFile() {
FileReader fileReader = null;
try {
fileReader = new FileReader("a.txt");
int ch = 0;
while ((ch = fileReader.read()) != -1) {
System.out.println((char) ch);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fileReader) {
fileReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}


}


/**
* 读取方式二
*/
public static void readFile2() {
FileReader fileReader = null;
try {
fileReader = new FileReader("a.txt");
char[] buff = new char[1024];
int len = 0;
while ((len = fileReader.read(buff)) != -1) {
System.out.println(new String(buff, 0, len));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fileReader) {
fileReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}


}


/**
* 读取方式三
*/
public static void readFile3() {
FileReader fileReader = null;
BufferedReader bufferedReader = null;
try {
fileReader = new FileReader("a.txt");
bufferedReader = new BufferedReader(fileReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fileReader) {
fileReader.close();
}
if (null != bufferedReader) {
bufferedReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}


}


/**
* 这个面试过
*
* 读取方式四
*/
public static void readFile4() {
FileReader fileReader = null;
BufferedReader bufferedReader = null;
try {
List<String> list = new ArrayList<String>();
fileReader = new FileReader("a.txt");
bufferedReader = new BufferedReader(fileReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
list.add(line);
}
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
System.out.println(string);


}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fileReader) {
fileReader.close();
}
if (null != bufferedReader) {
bufferedReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}


}


/**
* 文本数据存储到一个文件中
*/
public static void writeFile() {
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter("b.txt");
fileWriter.write("岳振华");
// 刷新
// fileWriter.flush();
// 关闭此流,但要先刷新它


} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileWriter != null) {
fileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


/**
* 文件的拷贝
*/
public static void copyFile() {
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
bufferedReader = new BufferedReader(new FileReader("a.txt"));
bufferedWriter = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
// readLine 在读到回车换行时将数据一次性返回
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line);
// 添加一个加车换行
bufferedWriter.newLine();
bufferedWriter.flush();
}


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != bufferedReader) {
bufferedReader.close();
}
if (null != bufferedWriter) {
bufferedWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

/******************** 字节流 ********************************************/]

public void writeFile2() {
byte[] bs = new byte[1024];
FileOutputStream fos = null;
try {
fos = new FileOutputStream("b.txt");
fos.write(bs);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fos) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


public void getFile() {
try {
FileInputStream fis = new FileInputStream("");
byte[] bs = new byte[fis.available()];
fis.read(bs);
System.out.println(new String(bs));


} catch (IOException e) {
e.printStackTrace();
}
}


public void copyFile2() {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream("a.txt"));
bos = new BufferedOutputStream(new FileOutputStream("b.txt"));


int bs = 0;
while ((bs = bis.read()) != -1) {
bos.write(bs);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != bis) {
bis.close();
}
if (null != bos) {
bos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

}

分享到:
评论

相关推荐

    java io流学习笔记1

    Java IO流是Java编程语言中处理输入输出操作的重要部分,尤其在数据传输、文件读写等方面发挥着核心作用。本文将深入探讨Java IO流的基本概念、类型以及它们在实际开发中的应用。 首先,理解IO流的基本概念至关重要...

    java IO流学习笔记

    ### Java IO流学习笔记 #### 异常处理与IO流操作 在进行Java IO流的学习过程中,异常处理是非常重要的一个方面。本节将详细介绍如何在Java中处理异常,并结合具体的IO流操作进行说明。 #### 一、异常处理 在Java...

    Java 的 IO流笔记.md

    ### Java IO流学习笔记 #### 一、IO流的四大抽象类 - **InputStream/OutputStream**:字节的输入输出流的抽象类。 - 数据单位:字节(8比特,范围0-255) - **Reader/Writer**:字符的输入输出流的抽象类。 - ...

    io流的学习笔记

    io流学习笔记,主要适合入门的人士学习及观看

    Java IO学习笔记+代码

    Java IO是Java编程语言中用于输入/输出操作的重要部分,它提供了一系列的类和方法来处理数据的读写,文件的创建、删除以及流的管理等。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件对象的生成**: 在...

    java学习笔记1(java io/nio)

    java学习笔记1(java io/nio)设计模式

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    java IO流学习笔记——(1)文件字节流

    java IO流学习笔记——(1) IO流总述 • 输入流:数据源到程序(InputStream、Reader读进来) • 输出流:程序到目的地(OutputStream、Writer写出去) 流分类 : • 节点流:可以直接从数据源或目的地读写数据 • 处理...

    javaIO流.xmind

    自己总结的java中IO流的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合java的爱好者和学习者

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    Java学习笔记之IO流

    ### Java学习笔记之IO流 #### 一、IO流概述 在Java中,IO流是用于处理输入输出操作的一种机制,主要包括输入流(Input Stream)和输出流(Output Stream)两大类。通过这些流,我们可以实现对文件的操作,如读取、写入...

    IO流学习总结

    本文档为本人学习 java IO流期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    二、Java IO流的基本操作 1. 打开流:使用构造函数创建流对象,如new FileInputStream("file.txt")打开文件输入流。 2. 读写数据:使用read()或write()方法进行数据传输。例如,InputStream的read()方法返回读取的...

    Java入门学习笔记

    "Java入门第二季学习笔记"可能深入到更复杂的主题,如异常处理、集合框架、IO流和线程。异常处理是Java中处理错误的重要机制,使得程序更加健壮。集合框架包括ArrayList、LinkedList、HashSet、HashMap等数据结构,...

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

Global site tag (gtag.js) - Google Analytics