首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

IO源读写txt中存储的文字信息和图片信息

2012-11-01 
IO流读写txt中存储的文字信息和图片信息前几天遇到了用IO流读取txt(或其它类型文件)是中存储的文字信息和

IO流读写txt中存储的文字信息和图片信息
前几天遇到了用IO流读取txt(或其它类型文件)是中存储的文字信息和图片信息,在网上找了很久都没有找到想要的答案。今天终于把这个问题解决了,拿出来跟大家分享下,希望对有同样需求的大虾们有所帮助!不过最后还有点疑问,因为是用的二进制流读取的文字和图片信息,图片信息是以“END”结束的,现在的问题是怎么读到“END”就中止图片的读取?

public class Test {static File save = new File("save.txt");/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {test1();test2();test3();}//把文字信息写进TXT文件中public static void test1() throws IOException {if (!save.exists())save.createNewFile();FileOutputStream output = new FileOutputStream(save);OutputStreamWriter output_writer = new OutputStreamWriter(output);PrintWriter pr = new PrintWriter(output_writer);pr.print(new Date());pr.print("==============img");pr.flush();pr.close();output_writer.close();output.close();}//把图片信息写进TXT文件中(在文字信息之后写)public static void test2() throws IOException {File file = new File("1.bmp");if (!save.exists())save.createNewFile();FileInputStream input_stream = new FileInputStream(file);FileOutputStream out_stream = new FileOutputStream(save, true);int len = 0;byte[] bytes = new byte[1024];while (-1 != (len = input_stream.read(bytes))) {out_stream.write(bytes, 0, len);}out_stream.close();input_stream.close();}//分别读去文字信息及图片信息public static void test3() throws IOException {FileInputStream input = new FileInputStream(save);File temp = new File("temp.bmp");if (!temp.exists())temp.createNewFile();FileOutputStream output = new FileOutputStream(temp);byte[] bytes = new byte[1];int len = 0;while (-1 != (len = input.read(bytes))) {String temp1 = new String(bytes);System.out.println(temp1);if ("g".equals(temp1))//以g结束文字信息的读取break;}byte[] bytes1 = new byte[1024];int len1 = 0;//开始读取图片信息while (-1 != (len1 = input.read(bytes1))) {output.write(bytes1, 0, len1);}output.close();input.close();}}

热点排行