- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
FileReader和FileWriter源码分析 。
1. FileReader 源码(基于jdk1.7.40) 。
1
2
3
4
5
6
7
8
9
10
11
12
|
package
java.io;
public
class
FileReader
extends
InputStreamReader {
public
FileReader(String fileName)
throws
FileNotFoundException {
super
(
new
FileInputStream(fil java io系列
21
之 InputStreamReader和OutputStreamWritereName));
}
public
FileReader(File file)
throws
FileNotFoundException {
super
(
new
FileInputStream(file));
}
public
FileReader(FileDescriptor fd) {
super
(
new
FileInputStream(fd));
}
}
|
从中,我们可以看出FileReader是基于InputStreamReader实现的.
2. FileWriter 源码(基于jdk1.7.40) 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package
java.io;
public
class
FileWriter
extends
OutputStreamWriter {
public
FileWriter(String fileName)
throws
IOException {
super
(
new
FileOutputStream(fileName));
}
public
FileWriter(String fileName,
boolean
append)
throws
IOException {
super
(
new
FileOutputStream(fileName, append));
}
public
FileWriter(File file)
throws
IOException {
super
(
new
FileOutputStream(file));
}
public
FileWriter(File file,
boolean
append)
throws
IOException {
super
(
new
FileOutputStream(file, append));
}
public
FileWriter(FileDescriptor fd) {
super
(
new
FileOutputStream(fd));
}
}
|
从中,我们可以看出FileWriter是基于OutputStreamWriter实现的.
示例程序 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.FileWriter;;
import
java.io.FileReader;
import
java.io.IOException;
/**
* FileReader 和 FileWriter 测试程序
*
*
*/
public
class
FileReaderWriterTest {
private
static
final
String FileName =
"file.txt"
;
private
static
final
String CharsetName =
"utf-8"
;
public
static
void
main(String[] args) {
testWrite();
testRead();
}
/**
* OutputStreamWriter 演示函数
*
*/
private
static
void
testWrite() {
try
{
// 创建文件“file.txt”对应File对象
File file =
new
File(FileName);
// 创建FileOutputStream对应FileWriter:将字节流转换为字符流,即写入out的数据会自动由字节转换为字符。
FileWriter out =
new
FileWriter(file);
// 写入10个汉字
out1.write(
"字节流转为字符流示例"
);
// 向“文件中”写入"0123456789"+换行符
out1.write(
"0123456789\n"
);
out1.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
/**
* InputStreamReader 演示程序
*/
private
static
void
testRead() {
try
{
// 方法1:新建FileInputStream对象
// 新建文件“file.txt”对应File对象
File file =
new
File(FileName);
FileReader in1 =
new
FileReader(file);
// 测试read(),从中读取一个字符
char
c1 = (
char
)in1.read();
System.out.println(
"c1="
+c1);
// 测试skip(long byteCount),跳过4个字符
in1.skip(
6
);
// 测试read(char[] cbuf, int off, int len)
char
[] buf =
new
char
[
10
];
in1.read(buf,
0
, buf.length);
System.out.println(
"buf="
+(
new
String(buf)));
in.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
|
运行结果:
c1=字 buf=流示例0123456 。
以上所述是小编给大家介绍的Java 中的FileReader和FileWriter源码分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
最后此篇关于Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理的文章就讲到这里了,如果你想了解更多关于Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一段代码,只要有可用的新数据作为 InputStream 就会生成新数据。每次都覆盖同一个文件。有时文件在写入之前变为 0 kb。 Web 服务会定期读取这些文件。我需要避免文件为 0 字节的情况
请帮我解决这个问题。我正在尝试编写一个读取 .txt 文件的代码,然后它会计算文件中每个字母的频率。这就是我想到的: public static void charCount(String file)
我一直找不到原因。我在这段代码中遇到的唯一问题是,当 FileWriter 尝试将新值放入文本文件时,它会放入一个 ?。我不知道为什么,甚至不知道这意味着什么。这是代码: if (secMessage
我正在尝试编写一个Java程序,其中用户指定他们想要输入多少“学生记录”,然后是学生的姓名、年龄和GPA,然后将其存储为文本。然而,我的文本有问题,不包括所有输入的数据和一个我无法摆脱的神秘的悬空换行
我正在尝试使用 XLS2CSV 将 Excel 文件转换为 csv 文本文件。我稍微修改了现有的类,将 PrintStream 更改为 Writer,这样我就可以使用 FileWriter 写入文件。
我使用文件编写器以类似 CSV 的格式将对象数组列表作为字符串写入文件。不管怎样,我在让它工作时遇到了问题,但现在我收到一个 FileNotFound 异常,它说创建的文件在异常中是只读的。正如我检查
我有一个程序,允许用户将信息写入文件。它不会覆盖原始文件中的所有内容,而是添加到其中。问题是,如果用户没有输入足够的信息,程序就会崩溃。 文本文件中的每一行看起来都像这样: info 1, Info
我正在热点虚拟机中的 Windows 2008 服务器(64 位)上运行我的 java 应用程序。 几个月前,我创建了一个工具来帮助检测应用程序中的死锁。在过去一个月左右的时间里,唯一给我带来任何问题
try { File file = new File(filepath+"temp.txt"); if (!file.exists()) { f
所以,基本上它可以工作,但事实并非如此。它不会抛出任何错误,只是没有完成写入文件。它确实读取了文件中的所有行,并且它们的格式都正确。我已经尝试过调试所有这些。调试“currentLine”时,所有行都
我正在尝试编写一个快速的java程序来获取csv并在SQL中创建插入语句。我不需要所有列,否则我将直接通过 csv 导入数据。当我实际写入文件时,我的特殊问题就出现了。编写器应该向文件输出 200 多
我不确定为什么我的输出函数在创建文件时没有拾取换行符。这是代码: private void outputToFile(){ final JFileChooser fc = new JFileC
我对 Java 还很陌生。我试图将“List:”添加到新文本文件的开头(如果它不存在)。相反,文本文件是空白的,输入内容位于一行空白下方。 File hi = new File("hi.txt");
好吧...所以我有一个相当有趣的错误...我声明了一个名为 file 的 FileWriter,并且让它经历以下 for 循环: for (int i = 0; i < a.radtot; i++)
我正在开发一个 Java 应用程序,它有一个 JTextArea 供用户输入文本。它可以是任意数量的行,但是我的 FileWriter 遇到了问题,它只保存了任何输入的第一行。我以前从未使用过 Swi
我试图在 *.txt 文件中添加整数值,但它打印的是 ASCII 值。 我的代码有什么问题? public static void main(String[] args) throws IOExcep
我正在使用几个 java FileWriter 将数据附加到输出文件。这些文件在处理过程中全部保持打开状态,并定期写入(附加)。有时,我在逻辑中遇到需要删除当前打开文件的内容(文件长度变为零)的情况,
我有一个简单的程序,可以读取命令并执行它们。现在我有这段代码用于将某些文本插入到文本文件中: 示例命令: INSERT "John Smith" INTO college.student 我的主要方法
我很困惑... public class Testing { public static void main(String[] args) throws FileNotFoundExcepti
在下面的 FileWriter 中,我正在写入一个名为“employee.txt”的文件。它写入文件,但最初它只是附加到文件而不是每次都进入新行。从那时起,我通过添加“\n”来编辑代码,使其下降一行。
我是一名优秀的程序员,十分优秀!