有时我们需要程序动态生成jsp文件,采取系统默认的编码操作的文件出来的结果往往不是我们想要的,原因是中文显示总是是乱码。
读取
import
java.io.BufferedReader;
import
java.io.FileInputStream;
import
java.io.InputStreamReader;
String FileContent
=
""
;
//
文件很长的话建议使用StringBuffer
try
{
FileInputStream fis
=
new
FileInputStream(
"
d:\\input.txt
"
);
InputStreamReader isr
=
new
InputStreamReader(fis,
"
UTF-8
"
);
BufferedReader br
=
new
BufferedReader(isr);
String line
=
null
;
while
((line
=
br.readLine())
!=
null
) {
FileContent
+=
line;
FileContent
+=
"\r\n
"
;
//
补上换行符
}
}
catch
(Exception e) {
e.printStackTrace();
}
写入
import
java.io.FileOutputStream;
import
java.io.OutputStreamWriter;
String FileContent
=
"
文件内容
"
;
try
{
FileOutputStream fos
=
new
FileOutputStream(
"
d:\\output.txt
"
);
OutputStreamWriter osw
=
new
OutputStreamWriter(fos,
"
UTF-8
"
);
osw.write(FileContent);
osw.flush();
}
catch
(Exception e) {
e.printStackTrace();
}
读写文件是最常用的操作之一,每次将相应的代码片段复制过来不仅麻烦,还会影响整体的美观。为此我单独写了一个文件操作的类,需要时先把这个类的代码粘过去,再调用就方便多了。
import
java.io.BufferedReader;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.InputStreamReader;
import
java.io.OutputStreamWriter;
public
class
FileManager {
public
static
String read(String fileName, String encoding) {
StringBuffer fileContent
=
new
StringBuffer();
try
{
FileInputStream fis
=
new
FileInputStream(fileName);
InputStreamReader isr
=
new
InputStreamReader(fis, encoding);
BufferedReader br
=
new
BufferedReader(isr);
String line
=
null
;
while
((line
=
br.readLine())
!=
null
) {
fileContent.append(line);
fileContent.append(System.getProperty(
"
line.separator
"
));
}
}
catch
(Exception e) {
e.printStackTrace();
}
return
fileContent.toString();
}
public
static
void
write(String fileContent, String fileName, String encoding) {
try
{
FileOutputStream fos
=
new
FileOutputStream(fileName);
OutputStreamWriter osw
=
new
OutputStreamWriter(fos, encoding);
osw.write(fileContent);
osw.flush();
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
调用示例:
写入 FileManager.write("Hello, World!", "D:\\test.txt", "UTF-8");
读取 System.out.println(FileManager.read("D:\\test.txt", "UTF-8"));
分享到:
相关推荐
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
Java自带的Properties不好用,自己写了一个直接读写类,支持配置文件描述,支持对像值的描述,支持指定文件编码(默认UTF-8)
Windows中读写INI的相关API又不支持“UTF-8 Bom”格式的文件。这个太坑了。所以INI文件,建议你就使用GB2312编码的。 2. IniEditor.java原本不支持Section后面写注释,你即使写了注释,用IniEditor一保存注释就给...
本工程用于演示借助Sigar API获取磁盘信息 本工程编码方式:UTF-8 本工程开发工具:MyEclipse
大家都知道当我们利用java语言读写.doc文件时,无论是利用流的方式将.doc文件的内容输出到控制台(console),还是将其写到其他文件中,无论你采取何种编码格式(utf-8,gbk等)输出,你看到的内容99%都是乱码。...
//字符编码默认是utf-8 private static String DEFAULTCHART="UTF-8"; protected static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(ScpClient.class); static private ScpClient ...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...