編程題目:
4.完成下列要求:(1)從控制檯獲取輸入的文件目錄路徑,然後輸出目錄下所有文件;(2)將指定目錄下的.java文件複製到D:/java文件夾中。
示例代碼:
package program.stream.exercise04;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Scanner;
/**
* 4.完成下列要求:
* (1)從控制檯獲取輸入的文件目錄路徑,然後輸出目錄下所有文件;
* (2)將指定目錄下的.java文件複製到D:/java文件夾中。
* D:\files
* "src\\program\\stream\\exercise04\\FileCopy.java"
* "D:/java/exercise.txt"
**/
public class FileCopy {
public static void main(String[] args) {
//(1)從控制檯獲取輸入的文件目錄路徑
System.out.println("請輸入一個文件路徑:");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
//輸出目錄下所有文件
File file = new File(str);
File[] files = file.listFiles();
for(File f : files){
System.out.println(f);
}
//(2)將指定目錄下的.java文件複製到D:/java文件夾中
Reader reader = null;
Writer writer = null;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
reader = new FileReader("src\\program\\stream\\exercise04\\FileCopy.java");//相對路徑
writer = new FileWriter("D:/java/exercise.txt");
bufferedReader = new BufferedReader(reader);
bufferedWriter = new BufferedWriter(writer);
int c = 0;
while ((c=bufferedReader.read()) != -1) {
bufferedWriter.write(c);
}
System.out.println("寫入完成!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bufferedWriter.close();
bufferedReader.close();
writer.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
結果顯示: