类的继承,文件读写

标题图

父类

package hh;
public class People {
 protected String name;
 protected int age=16;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public void getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 //父类的print方法
 public void print(){
  System.out.println(this.name);
  System.out.println(this.age);
 }
}

子类

package hh;
//继承使用extends关键字,前边是子类,后边是父类,类的继承只能有一个父类
public class Student extends People {
 private String no;
 //子类的成员变量和父类的成员变量同名时父类的成员变量被覆盖
 protected int age = 20;
 public String getNo() {
  return no;
 }
 public void setNo(String no){
  this.no = no;
 }
 //重载:在同一个类里多个方法名字相同,参数不一样
 //重写:在子类和父类之间多个方法名相同,参数相同,并且返回值也相同
 //调用父类同名的方法,前加上super
 public void print(){
  super.print();
  System.out.println(this.no);
 }
}

测试类

package hh;
public class Test {
 public static void main(String[] args) {
  People dashu = new People();
  dashu.setName("dashu");
  dashu.setAge(16);
  //调用父类的print方法
  dashu.print();

  Student stu = new Student();
  stu.setName("hhhhh");
  stu.setAge(16);
  stu.setNo("1024");
  //子类对象的调用
  stu.print();
 }
}

设计思想:用随机文件流把文件正向读出并保存到了字符串中,将字符串倒序,显示到控制台。

package test2;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class text {
 public static void main(String[] args) {
  String filename = "c:/test/FileDemo.java";
  File f1=new File(filename);
  try{
   RandomAccessFile raf1=new RandomAccessFile(filename,"r");
   byte[] b = new byte[(int)f1.length()];
   StringBuffer sb = new StringBuffer();
   for(int i = 0;raf1.read(b)!=-1;i++){
     sb.append(new String(b,"utf-8"));
   }
   System.out.println(sb.reverse().toString());
   raf1.close();
 }catch(IOException e){
  e.printStackTrace();
 }
 }
}

图片

public class text1 {

	public static void main(String[] args) {
		FileReader fr;
		BufferedReader br;
		File file = new File("c:/test/FileDemo.java");
		String str;
		int n = 0;
		try {
			fr = new FileReader(file);
			br = new BufferedReader(fr);
			while((str = br.readLine()) != null){
				n++;
				System.out.println(n + "." + str);
			}
		}catch(FileNotFoundException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}

图片

文件读写

目的

1 掌握文件读写的几种方法
2 FileOutputStream和FileInputStream类的使用。
3 基本数据类型之间的转换

实现文件读取后转换为大写后写入到目标文件中,其中src是指源文件,des是目标文件目录。

public class FileDemo {

	//创建一个文件夹
	public static void createFolder(String path){
		File folder=new File(path);
		if(folder.exists()){
			System.out.println("文件夹已存在!");
		}else{
			//不存在时去创建
			folder.mkdir();
		}
	}
	//创建一个文件
	public static void createFile(String path,String filename){
		File file=new File(path,filename);
		//文件判断是否已存在
		if(file.exists()){
			System.out.println("文件已存在!");
			System.out.println(file.length());
		}else{
			try{
				file.createNewFile();
			}catch(IOException e){
				System.out.println("文件创建失败!");
			}
		}
	}
	//写文件
	public static void write(String path,String filename){
		try{
			String str="0123456789/nac";
			String Upstr = str.toUpperCase();//
			byte b[]=Upstr.getBytes();//
			FileOutputStream fos=new FileOutputStream(new File(path,filename));
			fos.write(b);
			fos.close();
		}catch(FileNotFoundException e){
			System.out.println("文件不存在");
		}catch(IOException e){
			System.out.println("写文件失败");
		}
	}
	//读文件
	public static void read(String path,String filename){
		try{
			int length=0;
			String str="";
		
			byte buffer[]=new byte[10];
			FileInputStream fis=new FileInputStream(new File(path,filename));
			
			while((length=fis.read(buffer, 0, buffer.length)) !=-1){
				str+=new String (buffer, 0, length);
			}
			System.out.println(str);//
			fis.close();
		}catch(FileNotFoundException e){
			System.out.println("文件不存在");
		}catch(IOException e){
			e.printStackTrace();
		}
	}
//
	public static void FileReaderCopy(String src,String des){
		try{
		FileReader fr=new FileReader(src);
		FileWriter fw=new FileWriter(des);
		char c[]=new char[1024];
		int len=0;
		
		while((len=fr.read(c, 0, c.length)) != -1){
			fw.write(c, 0, c.length);
		}
		fw.close();
		fr.close();
	} catch(FileNotFoundException e){
		System.out.println("文件不存在");
	}catch(IOException e){
		System.out.println("读写失败");
	}
	}
	//
	public static void BufferedReaderCopy(String src,String des){
		try{
			BufferedReader br=new BufferedReader(new FileReader(src));
			BufferedWriter bw=new BufferedWriter(new FileWriter(des));
			String str="";
			while((str=br.readLine()) != null){
				String Upstr = str.toUpperCase();//加入大写的变换
				bw.write(Upstr);//
				bw.newLine();
			}
			bw.close();
			br.close();
		} catch(FileNotFoundException e){
			System.out.println("文件存在");
		}catch(IOException e){
			System.out.println("读写失败");
		}
		}
	//复制
	public static void copy(String src,String des){
		try{
			FileInputStream fis=new FileInputStream(src);
			FileOutputStream fos=new FileOutputStream(des);
			int c;
			while((c=fis.read()) != -1){
				fos.write(c);
			}
			fos.close();
			fis.close();
		}catch(FileNotFoundException e){
			System.out.println("文件不存在");
		}catch(IOException e){
			System.out.println("读写失败");
		}
	}
	//复制文件
	public static void copy1(String src,String des){
		try{
			FileInputStream fis=new FileInputStream(src);
			FileOutputStream fos=new FileOutputStream(des);
			int c;
			byte buff[]=new byte[1024];
			while((c=fis.read(buff,0,buff.length)) != -1){
				fos.write(buff,0,c);
			}
			fos.close();
			fis.close();
		}catch(FileNotFoundException e){
			System.out.println("文件不存在");
		}catch(IOException e){
			System.out.println("读写失败");
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileDemo.createFolder("c:/test");
		FileDemo.createFile("c:/test", "1.txt");
		FileDemo.write("c:/test", "1.txt");
		FileDemo.read("c:/test", "1.txt");
		FileDemo.read("c:/test", "FileDemo.java");
		FileDemo.BufferedReaderCopy("c:/test/FileDemo.java", "c:/test/FileDemo2.java");
		FileDemo.copy1("c:/test/1.mp3", "c:/test/2.mp3");
	}

}

送心心

原文地址:https://www.cnblogs.com/dashucoding/p/9393737.html