效果圖如下:綠色部分是控制臺輸入的內容(輸入end就結束了)。
代碼如下:
包裹?com.baidu
進口?Java . io . buffered reader;
進口?Java . io . file;
進口?Java . io . file not found exception;
進口?Java . io . file output stream;
進口?Java . io . filereader;
進口?Java . io . io exception;
進口?Java . io . output streamwriter;
進口?Java . util . array;
進口?Java . util . scanner;
進口?java.util .向量;
公共?班級?CreateAndReadTxt?{
//?文件名
公共?靜電?字符串?文件名?=?".txt ";
公共?靜電?字符串?新文件名?=?".txt ";
//?文件路徑
公共?決賽?靜電?字符串?網址?=?system . getproperty(" user . dir ");
//?createadreadxt . class . get resource("/")。getPath();
//?創建TXT文件
公共?靜電?作廢?createTxtFile(字符串?fName,?字符串?fileContent)?{
//?創建文件
文件名?=?fName?+?文件名;
文件?文件?=?新的?文件(文件名);
//?可以改變
file . set writable(true);
//?判斷當前路徑下是否有同名文件。
布爾?isExist?=?file . exists();
如果?(isExist)?{
//?文件存在,刪除。
file . delete();
}
//?寫文件
試試?{
//?文件寫對象
FileOutputStream?fos?=?新的?FileOutputStream(文件);
//?輸入流寫-默認字符是GBK
OutputStreamWriter?osw?=?新的?output streamwriter(fos);
//?寫入
OSW . write(file content);
//?寫完後關閉。
OSW . close();
System.out.println("文件創建成功:\ t "+fileName);
}?接住?(IOException?e)?{
System.out.println("未能寫入文件:\t "?+?e . getmessage());
}
}
//?閱讀文件
公共?靜電?作廢?readFile(字符串?文件名)?{
System.out.println("開始讀取文件:\t "?+?文件名);
//?生成文件對象
文件?文件?=?新的?文件(文件名);
//
試試?{
//?字符閱讀
FileReader?弗雷德?=?新的?FileReader(文件);
//?緩沖處理
BufferedReader?br?=?新的?buffered reader(fr);
字符串?str?=?"";
什麽時候?((str?=?br.readLine())?!=?null)?{
system . out . println(str);
}
//?關閉
br . close();
fr . close();
}?接住?(FileNotFoundException?e)?{
System.out.println("讀取文件失敗:\t "?+?e . getmessage());
}?接住?(IOException?e)?{
System.out.println("讀取文件失敗:\t "?+?e . getmessage());
}
}
//?存檔原件
公共?靜電?作廢?copyFile(字符串?fromFileName,字符串?toFileName){
//讀取文件
文件?文件?=?新的?文件(來自文件名);
試試?{
FileReader?弗雷德?=?新的?FileReader(文件);
BufferedReader?br?=?新的?buffered reader(fr);
//?定義接收變量
向量& ltDouble & gt?vec?=?新的?向量& ltDouble & gt();
字符串?s?=?"";
while(null!=(s = br . readline()){
vec . add(double . parse double(s));
}
br . close();
fr . close();
//?保存到數組並排序。
雙倍?竇[]?=?新的?double[vec . size()];
vec . toarray(dou);
arrays . sort(dou);
系統。out.println ("= = = = = = =復制文件= = = = = = ");
//?寫壹個新文件
新文件名?=?" copy "+new filename;
文件?新文件?=?新的?file(to filename);
FileOutputStream?fos?=?新的?FileOutputStream(newFile,真);
OutputStreamWriter?奧斯姆?=?新的?output streamwriter(fos);
for(雙倍?竇){
osm . write(d . double value()+" \ n ");
}
osm . close();
fos . close();
}?接住?(FileNotFoundException?e)?{
System.out.println("讀取文件失敗:\t "?+?e . getmessage());
}?接住?(IOException?e)?{
System.out.println("讀取文件失敗:\t "?+?e . getmessage());
}
}
公共?靜電?作廢?main(String[]?args)?{
/**
?*?結構數據
?*/
掃描儀?掃描?=?新的?掃描儀(system . in);
StringBuilder?sb?=?新的?StringBuilder();
字符串?s?=?"";
而(!(“結束”。等於(s?=?scan.next()))){//?當結束進入時,它就結束了。
某人追加;
sb . append(" \ n ");
}
scan . close();
/**
?*?服務數據
?*/
createandreadxt . createtxtfile(" creat ",sb . tostring());
CreateAndReadTxt.readFile(文件名);
System.out.println(文件名);
CreateAndReadTxt.copyFile(文件名,new filename);
createadreadxt . readfile(new filename);
}
}