java写txt文件_Java读写txt文件
1、Java读取txt文件
1.1、使用FileInputStream:
public static String readFile(File file, String charset){
//设置默认编码
if(charset == null){
charset = "UTF-8";
}
if(file.isFile() && file.exists()){
try {
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, charset);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuffer sb = new StringBuffer();
String text = null;
while((text = bufferedReader.readLine()) != null){
sb.append(text);
}
return sb.toString();
} catch (Exception e) {
// TODO: handle exception
}
}
return null;
}
最后此函数将会返回读取到的内容。当然,也可以在读取的过程中进行逐行处理,不必要一次性读出再进行处理。
而且,bufferedReader还有read方法,满足更多的需要。下去我自己可以试一试,再补充。
2、Java写入txt文件
2.1、使用FileWriter方式:
/**
* 以FileWriter方式写入txt文件。
* @param File file:要写入的文件
* @param String content: 要写入的内容
* @param String charset:要写入内容的编码方式
*/
public static void writeToFile1(){
try {
String content = "测试使用字符串";
File file = new File("./File/test1.txt");
if(file.exists()){
FileWriter fw = new FileWriter(file,false);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close(); fw.close();
System.out.println("test1 done!");
}
} catch (Exception e) {
// TODO: handle exception
}
}
这种方式简单方便,代码简单。顺带一提的是:上述代码是清空文件重写,要想追加写入,则将FileWriter构造函数中第二个参数变为true。
2.2、文件不存在时候,主动创建文件。
public static void writeToFile2(){
try {
String content = "测试使用字符串";
File file = new File("./File/test2.txt");
//文件不存在时候,主动穿件文件。
if(!file.exists()){
file.createNewFile();
}
FileWriter fw = new FileWriter(file,false);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close(); fw.close();
System.out.println("test2 done!");
} catch (Exception e) {
// TODO: handle exception
}
}
关键性的话语在于file.createNewFile();
2.3、使用FileOutputStream来写入txt文件。
public static void writeToFile3(){
String content = "测试使用字符串";
FileOutputStream fileOutputStream = null;
File file = new File("./File/test3.txt");
try {
if(file.exists()){
file.createNewFile();
}
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(content.getBytes());
fileOutputStream.flush();
fileOutputStream.close();
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("test3 done");
}
使用输出流的方式写入文件,要将txt文本转换为bytes写入。
3、总结
1、对于写入文件路径的问题,我发现文件路径是以本项目为根目录的,也就是说:写文件路径的时候,要么写成绝对路径,防止错误;要么 以本项目为根目录写相对路径。
举一个例子:
|project/
|----src/
| |----test.java
|----File
| |----test1.txt
| |----test2.txt
| |----test3.txt
要想访问到test1.txt,路径要写作绝对路径,或者相对路径:./File/test1.txt
2、对于输入输出流读写文件,操作完成后要关闭流。
以后再进行补充学习,暂时就这样记录下来。
java写txt文件_Java读写txt文件相关推荐
- JAVA编程TXT文件_java读写txt文件的方法
java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...
- java dbf文件_Java读写dbf文件
展开全部 Java读取DBF文件,需要加载开源jar包JavaDBF.jar,然后使用62616964757a686964616fe4b893e5b19e31333337613133里面的方法进行读写 ...
- java 写入xml文件_java读写xml文件
要读的xml文件 李华姓名> 14年龄> 学生> 张三姓名> 16年龄> 学生> 学生花名册> package xml; import java.io.Fil ...
- java资源文件获取属性_Java读写资源文件类Properties
Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注 ...
- python不同数据的读入_python读写不同编码txt文件_python读写txt文件
python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...
- JAVA之NIO按行读写大文件,完美解决中文乱码问题
JAVA之NIO按行读写大文件,完美解决中文乱码问题 参考文章: (1)JAVA之NIO按行读写大文件,完美解决中文乱码问题 (2)https://www.cnblogs.com/jpfss/p/89 ...
- java生成txt表格_java读取txt文件表格并生成新txt
展开全部 可以使用java中的I/O流来读取文件并生产新文件,给你个代码例子:import java.io.BufferedReader; import java.io.File; import ja ...
- c语言写文件TXT,C语言读写txt文件
1.往txt文件中写数据 使用一个文件指针与fprintf函数 #include #include using namespace std; struct Vertex { float x,y,z;/ ...
- unity webgl读写txt文件_VB 读写txt文件
No.7 读写txt文件mp.weixin.qq.com 许多程序需要读写数据,比如商品管理,图书管理,学生档案等,当需要查询的时候,就是读取数据,新增或者更改就需要写数据,VB来讲,中小型的数据一 ...
- Python如何实现读写txt文件?读写txt文件的方法有哪些?
前言 又是一篇纯知识点的文章,现在看文章的人越来越少了,是都去看视频了吗 今天就来聊聊 - Python实现读写txt文件的方法 一.读写模式: w:向文件中写入内容,w会清空原来文本内容 a:向文件 ...
最新文章
- mybaits十二:使用collection嵌套结果集查询
- python条件表达式连起来写一段话_python学习笔记十三条件表达式应用
- 图像像素灰度内插(Matlab实现)
- mcs-51单片机视频教程——从硬件到c语言手把手的教,手把手从零教你学51单片机...
- phpcmsV9站群去除域名绑定目录中的HTML的方法
- Bundler和Minifier Visual Studio扩展
- e语言通用进销存源码_Go 语言设计哲学之五:代码风格的唯一标准
- rsync+lsync实现多服务器多文件夹双向同步
- 剑指offer三从头到尾打印链表
- 壁纸控的你需要看这里!
- SFB 项目经验-82-Active Directory Replication Status
- 关于郑州大学校园网锐捷客户端禁止热点分享,禁止多网卡的解决办法
- 玩机搞机----安卓全机型修改开机第一屏步骤教程
- google账号已停用(已解决)
- android探索之UID u0_axxx的由来
- QuickTime Player安装Soundflower插件实现完整录屏功能
- [Keil 烧录器下载报错] “Flash Timeout. Reset the Target and try it again”
- VMware虚拟机无法识别U盘解决方案
- echarts柱状图多组数据配置
- 12. Spring Boot统一日志框架
热门文章
- Altium中Smart PDF的使用
- 荔枝软件如何测试声音,荔枝如何测自己的声音 荔枝测自己的声音方法
- 个人微信api接口调用代码
- 象棋程序 android,中国象棋人机对弈程序在Android系统上的设计与实现
- html5轮播图代码效果图,JavaScript实现轮播图效果代码实例
- linux下sybase创建数据库,Linux下Sybase数据库安装
- 2016计算机考研408答案,2016年计算机408统考考研真题及答案解析.pdf
- 二部图 欧拉图 哈密顿图 平面图 判定条件
- Grads:绘制风流畅
- linux 交叉编译ffplay,交叉编译ffmpeg生成ffplay