1. 程式人生 > >Java檔案讀寫操作

Java檔案讀寫操作

程式碼

  1. package fileOperation;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileOutputStream;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9. import java.io.OutputStreamWriter;
  10. publicclassFileOperation{
  11. publicstatic
    voidmain(String[]args){
  12. StringfilePath="D:/test/test.txt";
  13. Stringcontent="第一行\n第二行\n";
  14. Stringcontent2="第三行\n第四行\n";
  15. createFile(filePath);
  16. writeFile(filePath,content);
  17. writeFile(filePath,content2);
  18. readFile(filePath);
  19. }
  20. /*
  21.     *按行讀取檔案
  22.     */
  23. publicstaticvoidreadFile(StringfilePath){
  24. Filefile=newFile(filePath
    );
  25. BufferedReaderreader=null;
  26. try{
  27. reader=newBufferedReader(newFileReader(file));
  28. StringtempString=null;
  29. while((tempString=reader.readLine())!=null){
  30. System.out.println(tempString);
  31. }
  32. reader.close();
  33. }catch(IOExceptione){
  34. e.printStackTrace();
  35. }finally{
  36. if(reader!=null){
  37. try{
  38. reader.close();
  39. }catch(IOException
    e1){
  40. }
  41. }
  42. }
  43. }
  44. /*
  45.     *以追加方式寫檔案
  46.     */
  47. publicstaticvoidwriteFile(StringfilePath,Stringconent){
  48. BufferedWriterout=null;
  49. try{
  50. out=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(filePath,true)));
  51. out.write(conent);
  52. }catch(Exceptione){
  53. e.printStackTrace();
  54. }finally{
  55. try{
  56. if(out!=null){
  57. out.close();
  58. }
  59. }catch(IOExceptione){
  60. e.printStackTrace();
  61. }
  62. }
  63. }
  64. /*
  65.     *建立檔案
  66.     */
  67. publicstaticvoidcreateFile(StringfilePath){
  68. Filefile=newFile(filePath);
  69. if(file.exists()){
  70. //System.out.println("檔案已存在");
  71. }else{
  72. try{
  73. FilefileParent=file.getParentFile();
  74. if(fileParent!=null){
  75. if(!fileParent.exists()){
  76. fileParent.mkdirs();
  77. }
  78. }
  79. file.createNewFile();
  80. }catch(IOExceptione){
  81. e.printStackTrace();
  82. }
  83. }
  84. }
  85. /*
  86.     *以追加方式寫檔案,效率低
  87.     */
  88. publicstaticvoidwriteFileByFileWriter(StringfilePath,Stringcontent){
  89. FileWriterwriter=null;
  90. try{
  91. writer=newFileWriter(newFile(filePath),true);
  92. writer.write(content);
  93. }catch(IOExceptione){
  94. e.printStackTrace();
  95. }finally{
  96. try{
  97. if(writer!=null){
  98. writer.close();
  99. }
  100. }catch(IOExceptione){
  101. e.printStackTrace();
  102. }
  103. }
  104. }
  105. }

結果

  1. 第一行
  2. 第二行
  3. 第三行
  4. 第四行