关闭

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

554人阅读 评论(0) 收藏 举报
分类:

一。创建文件夹及文件


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();
			}
		}
	}
}



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27377次
    • 积分:1694
    • 等级:
    • 排名:千里之外
    • 原创:150篇
    • 转载:1篇
    • 译文:0篇
    • 评论:7条
    最新评论