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

Java读取txt文件和写入txt文件原文:Java读取txt文件和写入txt文件写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!packageedu.thu.keyword.test;importjava.io.File;importjava.io.InputStreamReader;i

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

2018-10-19更新

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

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文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

    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.net/159330.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月26日 下午2:46
下一篇 2022年7月26日 下午2:46


相关推荐

  • Latex中的单引号,双引号如何输入?

    Latex中的单引号,双引号如何输入?Latex 中的单引号 双引号如何输入 左单引号 左双引号 右单引号 右双引号

    2026年1月19日
    2
  • 细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系

    细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系细说一个汉字等于几个字符 以及汉字 字符 字节 位之间的关系全文主旨总结 一 1 个汉字 1 个字 1 个字符二 1 个字符 1 个字节 8bit ACSII 码下 三 1 个字符 2 个字节 16bit Unicode 码下 四 自我认识 在处理汉字时 会默认

    2026年3月19日
    21
  • ***codeigniter操作xml(Simplexml第三方扩展)

    ***codeigniter操作xml(Simplexml第三方扩展)

    2021年9月4日
    48
  • Pycharm中利用Anaconda进行环境配置「建议收藏」

    Pycharm中利用Anaconda进行环境配置「建议收藏」由于不同demo所利用的环境不同,因而大神们开发了Anaconda工具,其中已经安装好了很多包,并且使用conda来对这些进行管理。如此,便可以实现在电脑中存储多个互相不干扰的环境,使用编译器来分别利用这些环境创建不同的项目。

    2022年8月28日
    9
  • 有趣的微分方程之常数变易法

    有趣的微分方程之常数变易法什么是常数变易法呢 常数变易法是一种解线性微分方程的行之有效的方法 它是拉格朗日十一年的研究成果 我们所用仅是他的结论 并无过程 https baike baidu com item E5 B8 B8 E6 95 B0 E5 8F 98 E6 98 93 E6 B3 95 fr aladdin 百度百科连接 求解过程呢 一阶假如我们有一个非齐次线性微分方程 一

    2026年3月16日
    2
  • voliate 关键字「建议收藏」

    voliate 关键字「建议收藏」voliatecpu术语定义术语英文单词术语描述内存屏障cachebarriers处理器的指令,用于实现对内存操作的顺序限制原子操作atomicopers不可中断的一个操作缓存行填充cachelinefill当处理器识别到内存的读操作是可缓存的,处理器读取整个缓存行到适合的缓存(L1,L2,L3)缓存命中cachehit当进行高速缓存行填充的内存位置不变时,处理器从缓存中读取,而非内存写命中writehitpp写

    2022年6月3日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号