java 读写 txt 文件

Java读取txt文件内容。可以作如下理解:

1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。

2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西

3、既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据

4、解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。

/////////////////////////////////////////////////////////////////////

/////////////////方法一、简单的使用Scanner和PrintWriter//////

//////////////////////////////////////////////////////////////////// 

package com.stone.demo;  
      
    import java.io.File;  
    import java.io.FileNotFoundException;  
    import java.io.PrintWriter;  
    import java.util.Scanner;  
      
    public class ReadAndWriteTxtByScanner {  
      
        private static void readTxtFile(String filepath){  
            try {  
                Scanner in=new Scanner(new File(filepath));  
                while(in.hasNext()){  
                    String str=in.nextLine();  
                    System.out.println(str);  
                }  
            } catch (FileNotFoundException e) {  
                e.printStackTrace();  
            }  
        }  
          
        private static void writeTxtFile(String filepath){  
            try {  
                @SuppressWarnings("resource")  
                String relativepath=System.getProperty("user.dir")+"/src/com/stone/demo/writefile.txt";  
                PrintWriter out=new PrintWriter(relativepath);  
                out.write("12312");  
                out.write("\n");  
                out.write("12312");  
                out.flush();  
                out.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
          
        public static void main(String[] args) {  
            String filepath=System.getProperty("user.dir")+"/src/com/stone/demo/writefile.txt";  
            writeTxtFile(filepath);  
            System.out.println("==================");  
            readTxtFile(filepath);  
        }  
    } 

 

/////////////////////////////////////////////////////

//////////////方法二:使用IO流///////////////////

/////////////////////////////////////////////////////

 

  1. package com.stone.demo;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.BufferedWriter;  
  5. import java.io.File;  
  6. import java.io.FileInputStream;  
  7. import java.io.FileNotFoundException;  
  8. import java.io.FileWriter;  
  9. import java.io.IOException;  
  10. import java.io.InputStreamReader;  
  11. import java.util.Scanner;  
  12.   
  13. public class ReadAndWriteTxtByFile {  
  14.     /** 
  15.      * 功能:Java读取txt文件的内容 步骤: 
  16.      * 1:先获得文件句柄  
  17.      * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 
  18.      * 3:读取到输入流后,需要读取生成字节流 
  19.      *  4:一行一行的输出。readline()。 备注:需要考虑的是异常情况 
  20.      * @param filePath 
  21.      */  
  22.     public static void readTxtFile(String filePath) {  
  23.         try {  
  24.             String encoding = "GBK";  
  25.             File file = new File(filePath);  
  26.             if (file.isFile() && file.exists()) { // 判断文件是否存在  
  27.                 InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式  
  28.                 BufferedReader bufferedReader = new BufferedReader(read);  
  29.                 String lineTxt = null;  
  30.                 while ((lineTxt = bufferedReader.readLine()) != null) {  
  31.                     System.out.println(lineTxt);  
  32.                 }  
  33.                 read.close();  
  34.             }  
  35.         } catch (Exception e) {  
  36.             System.out.println("读取文件内容出错");  
  37.             e.printStackTrace();  
  38.         }  
  39.     }  
  40.       
  41.     private static void writeTxtFile(String filepath){  
  42.         File file=new File(filepath);  
  43.         BufferedWriter writer = null;  
  44.         try {  
  45.             if(file.isFile()&&!file.exists()){  
  46.                 System.out.println("找不到指定的文件");  
  47.                 file.createNewFile();// 不存在则创建  
  48.             }  
  49.             else{  
  50.                 //writer = new BufferedWriter(new FileWriter(file,true)); //这里加入true 可以不覆盖原有TXT文件内容 续写  
  51.                 writer = new BufferedWriter(new FileWriter(file));  
  52.                 writer.write("hello");  
  53.                 writer.write("\n");  
  54.                 writer.write("hello");  
  55.             }  
  56.               
  57.         } catch (Exception e) {  
  58.             e.printStackTrace();  
  59.         } finally {  
  60.             if (writer != null) {  
  61.                 try {  
  62.                     writer.flush();  
  63.                     writer.close();  
  64.                 } catch (IOException e) {  
  65.                     e.printStackTrace();  
  66.                 }  
  67.             }  
  68.         }  
  69.     }  
  70.       
  71.     public static void main(String argv[]) {  
  72.         String filepath=System.getProperty("user.dir")+"/src/com/stone/demo/txtfile.txt";  
  73.         writeTxtFile(filepath);  
  74.         System.out.println("===================");  
  75.         readTxtFile(filepath);  
  76.     }  

 

 

 

//注:摘自http://blog.csdn.net/giserstone/article/details/40922189

posted @ 2017-04-26 18:09  super朱墨  阅读(244)  评论(0编辑  收藏  举报