Java学习笔记43(打印流、IO流工具类简单介绍)
2024-10-19 00:30:57
打印流:
有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器
PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream)
PringWriter:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream),接收字符输出流(Writer)
为其他流添加功能,可以方便地打印各种数据值,不同的是:它永远不会抛出IO异常
方法:
package demo; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter; public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
function1();
function2();
function3();
} public static void function1() throws FileNotFoundException {
File file = new File("d:\\1.txt");
PrintWriter pw = new PrintWriter(file);
pw.println(100);// 写入的不是d,而是100,原样打印
pw.write(100);// 写入的是d
pw.flush();
pw.close();
} public static void function2() throws FileNotFoundException {
FileOutputStream fos1 = new FileOutputStream("d:\\2.txt");
PrintWriter pw1 = new PrintWriter(fos1);
pw1.println("打印流");
pw1.flush();
pw1.close();
} public static void function3() throws IOException {
FileWriter fw1 = new FileWriter("d:\\4.txt");
PrintWriter pw1 = new PrintWriter(fw1);
pw1.println("打印流");
pw1.flush();
pw1.close();
}
}
打印流自动刷新:
package demo; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter; public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
function1();
} public static void function1() throws FileNotFoundException {
FileOutputStream fos1 = new FileOutputStream("d:\\1.txt");
PrintWriter pw1 = new PrintWriter(fos1, true);
// 第二个参数是否自动书刷新,如果是,不需要写flush方法
pw1.println("I");
pw1.println("Love");
pw1.println("You");
pw1.close();
}
}
打印流复制文本文件:
package demo; import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter; public class Copy {
public static void main(String[] args) throws IOException {
BufferedReader bfr1 = new BufferedReader(new FileReader("d:\\1.txt"));
PrintWriter pw1 = new PrintWriter(new FileWriter("d:\\2.txt"), true);
String line = null;
while ((line = bfr1.readLine()) != null) {
pw1.println(line);
}
pw1.close();
bfr1.close();
}
}
最后简单写下工具类,可以大幅度降低代码量:
apache的commons工具类:
官网下载,复制到当前工程下的新建lib文件夹,右键build path即可
几个功能强大的常用方法:
package demo; import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils; public class CommonsDemo {
public static void main(String[] args) throws IOException {
function1();//文件名操作
function2();//文件操作
}
public static void function1(){
String name = FilenameUtils.getExtension("a.java");
System.out.println(name);//输出:java String filename = FilenameUtils.getName("d:\\b.java");
System.out.println(filename);//输出:b.java boolean a = FilenameUtils.isExtension("c.java", "java");
System.out.println(a);//输出true,判断文件后缀的方法
} public static void function2() throws IOException{
//读取文本文件的内容
String s1 = FileUtils.readFileToString(new File("d:\\1.txt"));
System.out.println(s1); //写文本文件
FileUtils.writeStringToFile(new File("d:\\b.txt"), "java");
//这里就创建了一个文本文件,并写入字符串java //复制文件(不限于文本)
FileUtils.copyFile(new File("d:\\1.txt"), new File("d:\\11.txt")); //复制文件夹
FileUtils.copyDirectoryToDirectory(new File("f:\\new"), new File("d:\\new"));
}
}
最新文章
- C# UdpClient使用Receive和BeginReceive接收消息时的不同写法
- centos6.5 安装mysql 的过程
- pdo 事物的处理
- 偶然的发现(与Code无关)
- html 表格的制作
- redis的基本使用
- WPF开发时光之痕日记本(二)—— MVVM基类
- 241. Different Ways to Add Parentheses——本质:DFS
- A Knight's Journey_DFS
- DataTable经典报错{列/行已属于其他表}
- php Ajax 局部刷新
- 【问题】tableView的每组的头部不不能滚动的解决方案
- 精通 VC++ 实效编程280例 - 01 窗口
- c 输出9x9乘法口诀表 这个学for循环绕不开的一题
- 漂亮竖向菜单 有缓存 javascript
- 项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
- docker备份mongodb数据,导入导出
- swapon和swapoff命令详解
- wp中的动画
- makefile文件。批处理文件。