Java作業(yè)IO流:Alt+/自動生成或提示代碼,復(fù)制,拷貝,數(shù)組創(chuàng)建,追加等【詩書畫唱】
一、創(chuàng)建一個config.txt
1.編寫程序檢查剛才的文件是否存在,名字是什么,大小為多少。



package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class exist {
public static void main(String[] args)throws Exception {
File wenjian=new File("config.txt");
if(wenjian.exists()){
System.out.println("詩書畫唱提醒你!該config.txt文件存在!"
+ "\n"
+ "文件名為"+wenjian.getName()
+ "\n"
+ "文件大小為"+wenjian.length());
}
}
}


給詩書畫唱,三連關(guān)注!


第2題和第3題合并:編程實現(xiàn)在此文件中添加任意英文文字并且讀取此文件中的內(nèi)容,打印出來:

package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class Sca {
public static void main(String[] args)throws Exception {
File wenjian=new File("config.txt");
System.out.println("詩書畫唱提醒你!請輸入內(nèi)容!");
Scanner s=new? Scanner(System.in);
String neiRong=s.next();
FileWriter xieRu=new FileWriter(wenjian);
xieRu.write(neiRong);
xieRu.flush();
xieRu.close();
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
}



二、在C盤的demo文件夾下建立一個名為“學(xué)生成績單”的目錄,在里面新建一個名為“JAVA成績”的txt文件在里面填寫以下信息:
? Tom? ? ? 90
? Kite? ? ? 95
? Paul? ? ? 88
? John? ? ? 75

package my;
import java.io.File;
import java.io.FileWriter;
public class createWenJianJia {
public static void main(String[] args) throws Exception{
File f=new File("C://demo/學(xué)生成績單");
File f1=new File(f,"JAVA成績.txt");
f.mkdirs();
System.out.println("多文件夾創(chuàng)建完畢");
f1.createNewFile();
System.out.println("文件創(chuàng)建完畢");
FileWriter xieRu=new FileWriter(f1);
xieRu.write("Tom\t90\nKite\t95\nPaul\t88\nJohn\t75");
xieRu.flush();
xieRu.close();
}
}



編寫程序查看此文件或目錄是否存在,若存在,判斷是目錄還是文件,得到它的名字,以及它的大小。

package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class panDuan {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/學(xué)生成績單/JAVA成績.txt");
if(wenjian.exists()){
System.out.println("詩書畫唱提醒你!該JAVA成績.txt存在!"
+ "\n"
+ "文件名為:"+wenjian.getName()
+ "\n"
+ "文件大小為:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成績是文件");
}
else{ System.out.println("JAVA成績是目錄(即為文件夾)");}
}
}
}


2.若此文件存在,編寫程序查看此文件的內(nèi)容。

package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class isSelectAdd {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/學(xué)生成績單/JAVA成績.txt");
if(wenjian.exists()){
System.out.println("詩書畫唱提醒你!該JAVA成績.txt存在!"
+ "\n"
+ "文件名為:"+wenjian.getName()
+ "\n"
+ "文件大小為:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成績是文件");
System.out.println("查看此文件的內(nèi)容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
else{ System.out.println("JAVA成績是目錄(即為文件夾)");}
}
}
}


3.若此文件存在,向此文件添加一名學(xué)生的成績(Sandy? 100)。

package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class zhuiJiao {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/學(xué)生成績單/JAVA成績.txt");
if(wenjian.exists()){
System.out.println("詩書畫唱提醒你!該JAVA成績.txt存在!"
+ "\n"
+ "文件名為:"+wenjian.getName()
+ "\n"
+ "文件大小為:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成績是文件");
//輸出流(追加內(nèi)容),zhuiJia:追加
FileWriter xieRu=new FileWriter(wenjian , true);
String neiRong="\nSandy\t100";//聲明內(nèi)容
xieRu.write(neiRong);//寫出數(shù)據(jù)
xieRu. flush();//清空管道
xieRu. close();//關(guān)閉鏈接"
System.out.println("查看追加后的文件的內(nèi)容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
else{ System.out.println("JAVA成績是目錄(即為文件夾)");}
}
}
}


三、創(chuàng)建一個list.txt文件。

good!Let us? go!請給詩書畫唱三連和關(guān)注!

編寫程序查看此文件或目錄是否存在,若存在,判斷是目錄還是文件,得到它的名字,以及它的大小。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class listExist {
public static void main(String[] args)throws Exception {
File wenjian=new File("list.txt");
if(wenjian.exists()){
if(wenjian.isFile()){
System.out.println("詩書畫唱提醒你!該list.txt存在!并且為文件"
+ "\n"
+ "文件名為"+wenjian.getName()
+ "\n"
+ "文件大小為"+wenjian.length());
}
else{
System.out.println("詩書畫唱提醒你!該list.txt存在!并且為文件夾"
+ "\n"
+ "文件夾名為"+wenjian.getName()
+ "\n"
+ "文件夾大小為"+wenjian.length());
}
}
else{
System.out.println("此文件或目錄不存在!");
}
}
}


2、通過循環(huán)在控制臺接收輸入的商品名稱和價格,并將這些內(nèi)容寫到list.txt文件中。
文件內(nèi)容如下:
item1? ?$7.50
item2? ?$3.90
item3? ?$599.00
item4? ?$48.00

package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class whileZJ {
public static void main(String[] args)throws Exception {
File wenjian=new File("list.txt");
FileWriter xieRu=new FileWriter(wenjian , true);
String array[]={" $7.50",
"$3.90"
,"$599.00"," $48.00"};
for(int i=1;i<=4;i++){
String neiRong="item"+i+"\t"+array[i-1]+"\n";//聲明內(nèi)容
xieRu.write(neiRong);//寫出數(shù)據(jù)
}
xieRu. flush();//清空管道
xieRu. close();//關(guān)閉鏈接"
System.out.println("查看追加后的文件的內(nèi)容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
}



3、實現(xiàn)文件拷貝功能,文件自己創(chuàng)建

package my;
?
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class copy {
?
public static void main(String[] args) {
System.out.println("開始復(fù)制...");
copyFangFa("list.txt","listCopy.txt");
System.out.println("復(fù)制成功!");
}
private static void copyFangFa(String yuanLaiWenJian,
String fuZhiWenJian) {
File srcFile = new File(yuanLaiWenJian);
File targetFile = new File(fuZhiWenJian);
InputStream in =? null;
OutputStream out = null;
try {
in = new FileInputStream(srcFile);
out = new FileOutputStream(targetFile);
byte[] byteShuZu = new byte[1024];
int len = -1;
while((len = in.read(byteShuZu))!=-1) {
out.write(byteShuZu,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(in != null) in.close();
if(out != null) out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
?
}



四、//使用相對路徑創(chuàng)建
File f2 = new File("ccc.txt");
//檢查ccc.txt文件是否存在。
//判斷f2是一個文件,還是一個文件夾?
//獲取文件名
//獲取文件ccc.txt的長度
//創(chuàng)建C:\\abc.html
//刪除C:\\abc.html文件

package my;
import java.io.*;
import java.util.Scanner;
public class createXiangDui {
public static void main(String[] args) throws Exception{
File wenjian=new File("ccc.txt");
wenjian.createNewFile();
if(wenjian.exists()){
System.out.println("ccc.txt存在!創(chuàng)建成功!"
+ "請刷新文件所在的最大的文件夾后查看!");
}
if(wenjian.isFile()){
System.out.println("ccc.txt是文件!\n"
+ "文件名:"+wenjian.getName()
+"\n文件長度:"+wenjian.length());
}
File wenjian2=new File("abc.html");
wenjian2.createNewFile();
if(wenjian2.exists()){
System.out.println("abc.html存在!創(chuàng)建成功!"
+ "請刷新文件所在的最大的文件夾后查看!");
}
System.out.println("如果要刪除abc.html的話,請輸入“1”!");
Scanner? s=new Scanner(System.in);
int ss=s.nextInt();
if(ss==1){
wenjian2.delete();
if(!wenjian2.exists()){
System.out.println("abc.html刪除成功!\n"
+ "請刷新文件所在的最大的文件夾后查看!");
}
}
}
}




老師寫的經(jīng)典代碼:
復(fù)制:
package j190802;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy {
public static void main(String[] args) {
// TODO Auto-generated method stub
? ? ? ? //將my.txt文件拷貝到e:下面
File f = new File("my.txt");
File f1 = new File("e:/my.txt");
//通過java代碼在e:創(chuàng)建my.txt文件
if(!f1.exists()) {//如果這個文件不存在,就創(chuàng)建它
try {
f1.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//創(chuàng)建從文件到電腦內(nèi)存的流的管道
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(f);
fos = new FileOutputStream(f1);
//將文件中的內(nèi)容讀取到電腦內(nèi)存中
for(int i = 0;i < f.length();i ++) {
//讀取my.txt文件中的所有內(nèi)容
int ch = fis.read();
//將讀取到的內(nèi)容寫到e:/my.txt文件中
fos.write(ch);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//不管try里面的代碼發(fā)生了什么異常,finally快中的代碼一定會執(zhí)行
try {
fis.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
判斷存在和追加等:
package j190802;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class Demo {
public static void main(String[] args) {
//將my.txt文件包裝成File對象
File file = new File("my.txt");
//判斷my.txt是否存在
//System.out.println(file.exists());
//System.out.println(file.length());
//讀取my.txt文件中的內(nèi)容
try {
//創(chuàng)建一個從文件到電腦內(nèi)存的管道
// FileInputStream fis = new FileInputStream(file);
// for(int i = 0;i < file.length();i ++) {
// //將文件中的每個字符讀出來存放在ch中
// char ch = (char)fis.read();
// System.out.println(ch);
// }
// //管道撤掉
// fis.close();
String str = "好好學(xué)習(xí)";
//創(chuàng)建電腦內(nèi)存到文件的管道
FileOutputStream fos = new FileOutputStream("my.txt",true);
//將需要寫入的字符串轉(zhuǎn)換成流
byte buffer[] = str.getBytes();
//一次性的寫入到my.txt文件中
fos.write(buffer);
//管道撤掉
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}