文件输入输出流Demo

package xyz.jangle.read.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

public class FileReaderTest {

	public static void main(String[] args) {
		String s = readToString("C:/Users/dell/Documents/testTableToExcel.ktr");
//		System.out.println(s);
//		testVo vo = new testVo();
//		vo.setId(1);
//		vo.setContext(s);
//		System.out.println(vo.getContext());
		
		File fd = new File("D:/d");
		File f = new File("D:/d"+"/test.ktr");
		try {
			fd.mkdirs();//创建多级目录       mkdir创建单级目录
			f.createNewFile();
			FileOutputStream fileOutputStream = new FileOutputStream(f);	//创建文件输出流
			fileOutputStream.write(s.getBytes());							//将内存数组的内容写入到实体文件中
			fileOutputStream.flush();										//将剩余内容输出(保证没有多余字节未输出。)
			fileOutputStream.close();	//XXX 一般我们在finally块中关闭流。
			System.out.println("执行成功");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	/**
	 * 将fileName的文件内容读取,并转换为String
	 * @param fileName 文件全路径+文件名
	 * @return 文件内容
	 */
	public static String readToString(String fileName) {  
        String encoding = "UTF-8";  
        File file = new File(fileName);  
        Long filelength = file.length();  
        byte[] filecontent = new byte[filelength.intValue()];  //内存数组
        try {  
            FileInputStream in = new FileInputStream(file);  
            in.read(filecontent);  								//读入内存
            in.close();  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
            System.out.println("未找到指定文件:"+fileName);
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        try {  
            return new String(filecontent, encoding);  		//结果返回
        } catch (UnsupportedEncodingException e) {  
            System.err.println("The OS does not support " + encoding);  
            e.printStackTrace();  
            return null;  
        }  
    } 
	
	public static class testVo{
		
		private int id ;
		
		private String context;
		
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public String getContext() {
			return context;
		}
		public void setContext(String context) {
			this.context = context;
		}
		
		
	}

}

这个功能写的像copy文件。但是copy文件也是用IO实现的。

在网络传输文件的时候也可以考虑通过这种方式用字符串进行传输然后再写入的目标服务器的磁盘中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值