//构造方法
BufferedWriter(Writer out);
BufferedReader(Reader in);
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\bw.txt"));
bw.write("hello\r\n");
bw.write("world\r\n");
bw.close();
}
}
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\bw.txt"));
int ch;
while((ch=br.read())!=-1){
System.out.println(ch);
}
char[] cc=new char[1024];
int len;
while((len=br.read(cc))!=-1){
System.out.println(new String(cc,0,len));
}
br.close();
}
}
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\ConversionStreamDemo.java"));
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\Cpoy.java"));
char[] by=new char[1024];
int len;
while((len=br.read(by))!=-1){
bw.write(new String(by,0,len));
}
bw.close();
br.close();
}
}
BufferedWriter:void newLine();//写一行行分隔符,由系统属性定义
BufferedReader:public String readLine();//读一行文字,不包括终止字符,到达末尾,为null
//BufferedWriter
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\bw.txt"));
for(int i=0;i<10;i++){
bw.write("hello"+i);
bw.newLine();//直接换行
bw.flush();//刷新流
}
bw.close();
}
}
//BufferedReader
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\bw.txt"));
String line;
while((line=br.readLine())!=null){//只读内容,不读换行符号
System.out.println(line);
}
br.close();
}
}
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\ConversionStreamDemo.java"));
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\Copy.java"));
String line;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
}
}
字节流的分类、字节输入流、字节输出流;
字符流的分类、字符输入流、字符输出流;
//即将ArrayList集合中的字符串数据写入到文本文件
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
ArrayList<String> arr=new ArrayList<String>();
arr.add("hello");
arr.add("world");
arr.add("java");
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\bw.txt"));
for(String s:arr){
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close();
}
}
//改进版
import java.util.*;
import java.io.*;
//Student.java已省略
public class Main{
public static void main(String[] args) throws IOException {
ArrayList<Student> arr=new ArrayList<Student>();
Student s1=new Student("lili",19);
Student s2=new Student("wangwu",20);
Student s3=new Student("lisi",18);
arr.add(s1);
arr.add(s2);
arr.add(s3);
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\java.txt"));
for(Student s:arr){
StringBuilder sb=new StringBuilder();
sb.append(s.getName()).append(",").append(s.getAge());
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
bw.close();
}
}
//数据排序改进版
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
TreeSet<Student> ts=new TreeSet<Student>(new Comparator<Student>(){
public int compare(Student s1,Student s2){
int num=s2.getYuwen()+s2.getMath()-s1.getYuwen()-s1.getMath();
int num2=num==0?s1.getYuwen()-s2.getYuwen():num;
int num3=num2==0?s1.getMath()-s2.getMath():num2;
int num4=num3==0?s1.getName().compareTo(s2.getName()):num3;
return num4;
}
});
for(int i=0;i<5;i++){
Scanner sc=new Scanner(System.in);
System.out.println("请录入第"+(i+1)+"学生的信息,");
System.out.println("姓名:");
String name=sc.nextLine();
System.out.println("语文成绩:");
int yuwen=sc.nextInt();
System.out.println("数学成绩:");
int math=sc.nextInt();
Student s=new Student();
s.setName(name);
s.setYuwen(yuwen);
s.setMath(math);
ts.add(s);
}
BufferedWriter bw=new BufferedWriter(new FileWriter("myCharStream\\student.txt"));
for(Student s:ts){
StringBuilder sb=new StringBuilder();
sb.append(s.getName()).append(",").append(s.getYuwen()).append(",").append(s.getMath());
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
bw.close();
}
}
//即将文本文件中的数据读取到集合中,并遍历集合
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\bw.txt"));
ArrayList<String> arr=new ArrayList<String>();
String line;
while((line=br.readLine())!=null){
arr.add(line);
}
br.close();
for(String s:arr){
System.out.println(s);
}
}
}
//改进版
import java.util.*;
import java.io.*;
//Student.java已省略
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\java.txt"));
ArrayList<Student> arr=new ArrayList<Student>();
String line;
while((line=br.readLine())!=null){
//将里面的每一个元素取出来赋值给学生对象的成员变量值
String[] strarr=line.split(",");
Student s=new Student();
s.setName(strarr[0]);
s.setAge(Integer.parseInt(strarr[1]));
//添加到集合
arr.add(s);
}
br.close();
for(Student s:arr){
System.out.println(s.getName()+","+s.getAge());
}
}
}
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("myCharStream\\java.txt"));
ArrayList<String> arr=new ArrayList<String>();
String name;
while((name=br.readLine())!=null){
arr.add(name);
}
br.close();
Random rr=new Random(arr.size());
int index=rr.nextInt();
String namename=arr.get(index);
System.out.println(namename);
}
}
import java.io.*;
import static org.apache.commons.io.FileUtils.copyFile;
public class Main{
public static void main(String[] args) throws IOException {
File ff=new File("E:\\itcast");
//获取数据源目录File对象的名称(itcast)
String ffname=ff.getName();
//创建目的地目录File对象
File destFolder =new File("myCharStream",ffname);
if(!destFolder.exists()){
destFolder.mkdir();
}
//获取数据源目录下所有文件的File数组
File[] listFiles=ff.listFiles();
//遍历
for(File f:listFiles){
String srcFileName=f.getName();
File destFile=new File(destFolder,srcFileName);
copyFile(f,destFile);
}
}
}
try…catch..finally…
JDK7改进方案:try..catch…
JDK9改进方案:定义输入流对象、定义输出流对象、try…catch…
//两个静态成员变量
public static final InputStream in:标准输入流
public static final PrintStream out:标准输出流
//标准输入流
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串:");
String line=br.readLine();
System.out.println("你输入的字符串是:"+line);
System.out.println("请输入一个整数:");
int id=Integer.parseInt(br.readLine());
System.out.println("你输入的整数是:"+id);
//键盘录入数据
Scanner sc=new Scanner(System.in);
}
}
//标准输出流
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
//BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
PrintStream ps=System.out;
ps.print("hello");
ps.print(100);
ps.println("world");
ps.println(300);//System.out.println(300);
}
}
//不带ln,必须有参数
字节打印流:
PrintStream
只负责输出数据,不负责读取数据
PrintStream(String FileName);//使用指定的文件名创建新的打印流
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
PrintStream ps=new PrintStream("myOtherStream\\ps.txt");
//字节输出流
ps.write(97);//a--查看时会转码
//使用特有方法
ps.println(97);//97--查看时,原样输出
ps.println(98);//98
ps.close();
}
}
字符打印流:
PrintWriter的构造方法:
PrintWriter(String fileName);//使用指定的文件名创建一个新的PrintWriter,而不需要自动更新
PrintWriter(Writer out,boolean autoFlush);//创建一个新的PrintWriter
//基础版
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
PrintWriter pw=new PrintWriter("myOtherStream\\pw.txt");
pw.write("hello");
pw.flush();//刷新流
//相当于pw.println("hello");
//pw.flush();
pw.write("world");
pw.flush();//刷新流
}
}
//改进版
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
PrintWriter pw=new PrintWriter(new FileWriter("myOtherStream\\pw.txt"),true);
//true表示能够自动刷新
pw.println("hello");//实现自动更新
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章