java鍵盤輸入檔案的內容和要儲存的檔名稱,自動建立檔案並儲存內容到檔案
阿新 • • 發佈:2019-01-31
不多說了,直接貼程式碼,兩種書寫方式,實現方式相同,有個有方法
中間加了一個方法,也算練習一下
還是應該使用Scanner進行資料的輸入,列印流進行資料的輸出,以後寫個總結
使用Scanner
package com;
import java.io.File;
import java.util.Scanner;
import java.io.*;
public class T8 {
public static void main(String[] args) throws Exception{
Scanner scan = new Scanner(System.in);
String filename = null ;
String filecont = null;
scan.useDelimiter("\n");//設定分隔符
System.out.println("輸入文章標題:");
if(scan.hasNext()){
filename = scan.next();//取出資料
System.out.print("請輸入檔案內容:");
//判斷是否有資料存在
if(scan.hasNext()){
filecont = scan.next();
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" + File.separator + (filename.trim() + ".txt"));
//判斷父路徑是否存在,若沒有則建立
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
//本程式在例項化PrintStream類物件時傳遞了一個FileOutputStream類物件
//表示進行檔案內容的輸出
//FileOutputStream會建立檔案
PrintStream out = new PrintStream(new FileOutputStream(file));
out.print(filecont);
out.close();
}
}
}
}
後邊的這些就隨便看看吧
package com;
import java.io.*;
public class T3 {
public static void main(String[] args) throws Exception {
InputStream input = System.in ;
byte datatitle[] = new byte[1024];
byte datacont[] = new byte[2048];
System.out.println("請輸入文章標題:");
input.read(datatitle);//將鍵盤輸入的資料寫入陣列
String title = new String(datatitle);//將讀取到的byte陣列轉為String
System.out.println("請輸入文章內容:");
input.read(datacont);
creatTitle(title,datacont);
}
public static void creatTitle(String s,byte[] c) throws Exception{
//關鍵在於trim()的濾空格作用,沒有trim()會多很多未知 的錯誤,一定記得寫
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" +
File.separator + (s.trim() + ".txt"));
if(file.exists()){
System.out.println("檔案已經存在!!!");
OutputStream output = new FileOutputStream(file);
output.write(c);
output.close();//記得關閉資源
}else{
System.out.println("檔案bu存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(c);
output.close();
}
}
}
這個沒有方法
package com;
import java.io.*;
public class T4 {
public static void main(String[] args) throws Exception {
InputStream input = System.in ;
byte datatitle[] = new byte[1024];
byte datacont[] = new byte[2048];
System.out.println("請輸入文章標題:");
input.read(datatitle);
String title = new String(datatitle);
System.out.println("請輸入文章內容:");
input.read(datacont);
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" +
File.separator + (title.trim() + ".txt"));
System.out.println(file);
if(file.exists()){
System.out.println("檔案已經存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(datacont);
output.close();
}else{
System.out.println("檔案bu存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(datacont);
output.close();
}
}
}