前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Java读取txt文件和写入txt文件

Java读取txt文件和写入txt文件

作者头像
全栈程序员站长
发布2022-09-17 13:05:40
发布2022-09-17 13:05:40
5.9K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

2018-10-19更新

网友推荐更加简洁的写法,修改之后的代码; 项目实用优化,增加java7中的try-with-resources写法

代码语言:javascript
代码运行次数:0
复制
package com.nickwong.code;

import java.io.*;

/** * Created by Nickwong on 31/07/2018. * 根据1-8楼的建议,优化了代码 */
public class ReadTxt { 
   

    public static void main(String args[]) { 
   
        readFile();
        writeFile();
    }

    /** * 读入TXT文件 */
    public static void readFile() { 
   
        String pathname = "input.txt"; // 绝对路径或相对路径都可以,写入文件时演示相对路径,读取以上路径的input.txt文件
        //防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw;
        //不关闭文件会导致资源的泄露,读写文件都同理
        //Java7的try-with-resources可以优雅关闭文件,异常时自动关闭文件;详细解读https://stackoverflow.com/a/12665271
        try (FileReader reader = new FileReader(pathname);
             BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言
        ) { 
   
            String line;
            //网友推荐更加简洁的写法
            while ((line = br.readLine()) != null) { 
   
                // 一次读入一行数据
                System.out.println(line);
            }
        } catch (IOException e) { 
   
            e.printStackTrace();
        }
    }

    /** * 写入TXT文件 */
    public static void writeFile() { 
   
        try { 
   
            File writeName = new File("output.txt"); // 相对路径,如果没有则要建立一个新的output.txt文件
            writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
            try (FileWriter writer = new FileWriter(writeName);
                 BufferedWriter out = new BufferedWriter(writer)
            ) { 
   
                out.write("我会写入文件啦1\r\n"); // \r\n即为换行
                out.write("我会写入文件啦2\r\n"); // \r\n即为换行
                out.flush(); // 把缓存区内容压入文件
            }
        } catch (IOException e) { 
   
            e.printStackTrace();
        }
    }
}

##参考原文: Java读取txt文件和写入txt文件##

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

代码语言:javascript
代码运行次数:0
复制
    package edu.thu.keyword.test;  
      
    import java.io.File;  
    import java.io.InputStreamReader;  
    import java.io.BufferedReader;  
    import java.io.BufferedWriter;  
    import java.io.FileInputStream;  
    import java.io.FileWriter;  
      
    public class cin_txt { 
     
        static void main(String args[]) { 
     
            try { 
    // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw 
      
                /* 读入TXT文件 */  
                String pathname = "D:\\twitter\\13_9_6\\dataset\\en\\input.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径 
                File filename = new File(pathname); // 要读取以上路径的input。txt文件 
                InputStreamReader reader = new InputStreamReader(  
                        new FileInputStream(filename)); // 建立一个输入流对象reader 
                BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言 
                String line = "";  
                line = br.readLine();  
                while (line != null) { 
     
                    line = br.readLine(); // 一次读入一行数据 
                }  
      
                /* 写入Txt文件 */  
                File writename = new File(".\\result\\en\\output.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件 
                writename.createNewFile(); // 创建新文件 
                BufferedWriter out = new BufferedWriter(new FileWriter(writename));  
                out.write("我会写入文件啦\r\n"); // \r\n即为换行 
                out.flush(); // 把缓存区内容压入文件 
                out.close(); // 最后记得关闭文件 
      
            } catch (Exception e) { 
     
                e.printStackTrace();  
            }  
        }  
    }  

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159330.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2018-10-19更新
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档