/**
* 字节输出流 OutputStream
* @throws IOException
*/
@Test
public void testOutputStream() throws IOException {
// File file = new File("D:\\end111.log");
File file = new File("D:" + File.separator + "testjava"
+ File.separator + "myinfo.txt"); // 指定一个文件的路径
if (!file.getParentFile().exists()) { // 先创建文件夹
file.getParentFile().mkdirs(); // 创建文件夹
}
OutputStream out = new FileOutputStream(file); // 向上转型
// OutputStream out = new FileOutputStream(file, true); // 向上转型
String str = "Hello World ..\r\n"; // 字符串
byte data[] = str.getBytes(); // 将字符串变为字节数组
out.write(data); // 全部输出
out.close();
}
/**
* 字节输入流InputStream
* 使用最多的读取是while这种形式的
*/
@Test
public void testInputStream2() throws IOException {
File file = new File("D:" + File.separator + "testjava"
+ File.separator + "myinfo.txt"); // 指定一个文件的路径
if (file.exists()) { // 文件要存在才能够进行读取
InputStream input = new FileInputStream(file); // 找到要输入的文件
StringBuffer buf = new StringBuffer();
int temp = 0;
// 将input.read()读取的内容给temp,如果temp的内容不是-1,则表示不是文件底部
while ((temp = input.read()) != -1) {
buf.append((char) temp);// 内容的保存
}
input.close();
System.out.println("输入内容是:【" + buf + "】");
}
}
/**
* 字符输出流:Writer
*/
@Test
public void testWriter() throws IOException {
File file = new File("D:" + File.separator + "testjava"
+ File.separator + "myinfo.txt"); // 指定一个文件的路径
if (!file.getParentFile().exists()) { // 先创建文件夹
file.getParentFile().mkdirs(); // 创建文件夹
}
Writer out = new FileWriter(file); // 向上转型
String str = "Hello World ."; // 字符串
out.write(str); // 全部输出
out.close(); // 输出关闭
}
/**
* 字符输入流:Reader
*/
@Test
public void testReader() throws IOException {
File file = new File("D:" + File.separator + "testjava"
+ File.separator + "myinfo.txt"); // 指定一个文件的路径
if (file.exists()) { // 文件要存在才能够进行读取
Reader input = new FileReader(file); // 找到要输入的文件
char data[] = new char[1024]; // 准备一个可以加载数据的数组
int len = input.read(data); // 把数据保存在字节数组之中,返回读取个数
input.close(); // 关闭
System.out.println("读取的数据:【" + new String(data, 0, len) + "】");
}
}