父類 子類 測試類 設計思想:用隨機文件流把文件正向讀出並保存到了字元串中,將字元串倒序,顯示到控制台。 文件讀寫 目的 1 掌握文件讀寫的幾種方法 2 FileOutputStream和FileInputStream類的使用。 3 基本數據類型之間的轉換 實現文件讀取後轉換為大寫後寫入到目標文件中 ...
父類
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");
}
}