使用FileInputStream的简单示例:及复杂示例(创建文件夹和文件,像文件写入东西并从文件读取东西)

一。创建文件夹及文件


package test;

import java.io.File;
import java.io.IOException;

public class Test1 {

	public static void main(String[] args) {
		// 在c盘创建temp目录
		File path = new File("E:/temp");
		if (!path.exists()) {
			// 创建目录
			path.mkdir();//mkdir()只能创建单及目录,mkdirs可以创建多级目录。
		}
		// 创建text.txt文件对象
		File file = new File(path + "/text.txt");
		if (file.exists()) {
			System.out.println("文件名:" + file.getName());
		} else {
			System.out.println("不存在,则创建文件!");
			try {
				file.createNewFile();
				System.out.println("文件创建成功!");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}
二、向上面的代码创建的文件夹 创建文件并向文件里写入内容

package test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestFileOutputStream {
	public static void main(String[] args) {
		String str = "hello world!";
		// 使用FileOutputStream创建输出流对象
		// 在 文件的时候如果E盘下没有该文件,则会自动创建该文件。但是不会创建文件夹,日过没有相应的文件夹,回提示找不到路径
		try {
			FileOutputStream fos = new FileOutputStream("E:/temp/text.txt");
			fos.write(str.getBytes());
			fos.flush();
			fos.close();
			System.out.println("文件写出完毕!");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

三、向以上的代码里读取文件内容(这个代码片是简单的文件读取内容方法。一般目前学习测试够用的)

package test;

/*
 * IO:使用FileInputStream的简单示例:
 此程序示范了如何使用FileInputStream来读取文件自身
 这是一个简单方法,目前测试学习阶段都可以用*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class TestFileInputStream2 {
	public static void main(String[] args) {
		// 使用FileInputStream读取文件内容
		// 创建字节输入流,路径可以是绝对路径,也可以是相对路径(相对于项目工程为根目录)
		File file = new File("E:" + File.separator + "temp"+ File.separator+"text.txt");
		if (file.exists()) {
			try {
				FileInputStream fis = new FileInputStream(file);//
				// 创建一个和要读取的文件一样大小的字节数组,“一勺舀完”。
				byte[] b = new byte[fis.available()];
				fis.read(b);
				System.out.println(new String(b));
				fis.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}

		}

	}

}

三、向以上的代码里读取文件内容(这个代码片是简单的文件读取内容方法。 )下面的代码不能读取汉字,还没解决,没太看懂

package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class TestFileInputStream {
	public static void main(String[] args) {
		// 使用FileInputStream读取文件内容
		File file = new File("E:" + File.separator + "temp"+ File.separator+"text.txt");
		if (file.exists()) {// File.separator 和"\\"和"/"一样都是文件指向路径,不过他是通用的
			try {
				FileInputStream fis = new FileInputStream(file); //站在内存的角度,input就是读数据,
				StringBuffer sub = new StringBuffer();
				byte[] b = new byte[3];
				while (fis.available() > 0) {//判断文件的内容是否还有
					fis.read(b);
					String str = new String(b);
					sub.append(str);
					b = new byte[3];
				}
				System.out.println(  sub.toString().trim());
				// while(fis.available() > 0){
//				 System.out.print((char)fis.read());
				// }
				fis.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值