java io 读取写文件
java 读取txt文件,汉字乱码,原因是因为文件的编码格式和程序编码采用了不同的编码格式。通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),程序中一般采用utf-8,所以读取文件的时候最好指定编码方式
方式1:以字节流读写
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer; import org.apache.commons.lang3.StringUtils; public class FileReadWriteDemo2 { public static void main(String[] args) throws IOException { BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream("f:/test.txt"),"gbk"));
Writer out = new OutputStreamWriter(new FileOutputStream("f:/testNew.txt"),"gbk");
BufferedWriter writer =new BufferedWriter(out);
String fileContent ="";
String line = "";
while ((line = read.readLine()) != null) {
//删除空格
if (StringUtils.isNotBlank(line)) {
//System.out.println(line);
fileContent +=line+"\r\n";
writer.write(line);
writer.write("\r\n");
}
}
read.close();
writer.close();
System.out.println(fileContent);
}
}
方式2:以字符流读写
public class FileReadWriteDemo {
public static void main(String[] args) throws IOException {
BufferedReader read = new BufferedReader(new FileReader("f:\\test.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("f:/testNew.txt"));
String line = "";
while ((line = read.readLine()) != null) {
if (StringUtils.isNotBlank(line)) {
System.out.println(line);
writer.write(line);
writer.write("\n ");
}
}
read.close();
writer.close();
}
}
java io 读取写文件的更多相关文章
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- Java快速读取大文件
Java快速读取大文件 最近公司服务器监控系统需要做一个东西来分析Java应用程序的日志. 第一步探索: 首先我想到的是使用RandomAccessFile,因为他可以很方便的去获取和设置文件指针,下 ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- java io流 对文件夹的操作
java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...
- java io流 创建文件、写入数据、设置输出位置
java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...
- java中读取特殊文件的类型
java中读取特殊文件的类型: 第一种方法(字符拼接读取): public static String getType(String s){ String s1=s.substring(s.index ...
- java -io 读取文件操作
主要分为字节读取和字符读取,字节读取可以一个一个读取和字节数组读取,字符读取同样之,字符读取适合文本读取,字节读取皆可以 这里直接上代码,读取文件的9个小demo package com.io; im ...
- Java IO读取文件之二
package com.lf.iopreoject; import java.io.BufferedReader; import java.io.File; import java.io.FileIn ...
- java Io流向指定文件输入内容
package com.hp.io; import java.io.*; public class BufferedWriterTest{ public static void main(String ...
随机推荐
- [luoguP1410] 子序列(DP)
传送门 发现一个结论. 只要存在长度>=3的非严格下降子序列就是NO,反之就是YES #include <cstdio> #include <iostream> #def ...
- [K/3Cloud] 创建一个操作校验器
概念: 定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验.继承自校验器抽象对象AbstractValidator. 示例: 新建一个类,继承自AbstractVali ...
- mysql控制流程函数(case,if,ifnull,nullif)
1.case...when... 用法 参考:http://www.cnblogs.com/qlqwjy/p/7476533.html CASE value WHEN [compare-value] ...
- CentOS虚拟机与本机同步时间
接着之前的任务,还是为了在VMWare上搭建分布式hadoop集群.搭着搭着注意到虚拟机上的时间和本机是不同步的,而且可以说是乱七八糟,3台虚拟机时间都与本机差了8个小时以上.首先确认不是时区的问题, ...
- Ubuntu 16.04系统启动时卡在:(initramfs)
背景: 由于不正常的关机和重启,或者突然断电导致的关机,下次起来后不能进去系统,停留在(initramfs). 解决方法: 使用如下命令修复 fsck -y /dev/sda1 说明:其中sda1为系 ...
- Hive之侧视图(Lateral View)
Lateral View和UDTF类功能函数一起使用,表中的每一行和UDTF函数输出的每一行进行连接,生成一张新的虚拟表,可以对UDTF产生的记录设置字段名称,新加的字段可以使用在sort by,gr ...
- android:“新版飞机大战”源码开源啦!
今天10.24,为了纪念程序猿的节日,把之前写过的一个"飞机大战"的一个源码开源了. 源码地址:https://github.com/nuptboyzhb/newplanegame ...
- C# .NET 如何修改代码字体
工具-选项-字体和颜色
- SDUTOJ 2476Period
#include<iostream> #include<string.h> #include<stdio.h> #define N 1000010 using na ...
- VS打包部署图文具体步骤及程序防卸载的制作(password验证卸载)
1. 在vs2010 选择"新建项目->"其它项目类型"->" Visual StudioInstallerà "安装项目": ...