父类
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");
}
}