美文网首页
Java 文件传输传入

Java 文件传输传入

作者: 失忆的鱼不会思念 | 来源:发表于2018-01-15 10:58 被阅读0次

复制文件内容

文件“我的青春谁做主.txt”位于D盘根目录下,
要求将此文件的内容复制到
C:\myFile\my Prime.txt中
实现思路

1.创建文件“D:\我的青春谁做主.txt”并自行输入内容
2.创建C:\myFile的目录。
3.创建输入流FileInputStream对象,负责对D:\我的青春谁做主.txt文件的读取。
4.创建输出流FileOutputStream对象,负责将文件内容写入到C:\myFile\my Prime.txt中。
5.创建中转站数组words,存放每次读取的内容。
6.通过循环实现文件读写。
7.关闭输入流、输出流

package com.company;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;

/**
 * Created by ttc on 18-1-12.
 */
public class Mainn {
    public static void main(String[] args) throws IOException, InterruptedException {
       File file=new File("D:\\我的青春谁做主.txt");
       file.createNewFile();
       File file1=new File("E:\\myFile");
       if (!file1.exists())
       {
           file1.mkdirs();
       }

       FileInputStream fileInputStream=new FileInputStream("D:\\我的青春谁做主.txt");

       FileOutputStream fileOutputStream=new FileOutputStream("E:\\myFile\\my Prime.txt");
        //创建中转站数组buffer,存放每次读取的内容
        byte[] buffer=new byte[100];

        //从fileInputStream(d:/我的青春谁做主.txt)中读100个字节到buffer中
        int length=fileInputStream.read(buffer);
        int count=0;
        while (length!=-1)
        {
            //将buffer中内容写入到输出流(E:\myFile\myPrime.txt)
            fileOutputStream.write(buffer,0,length);

            //继续从输入流中读取下一批字节
            length=fileInputStream.read(buffer);
            count++;
        }
        System.out.println(count);
        fileInputStream.close();
        fileOutputStream.close();


    }
}

使用FileReader读取文件

public static void main(String[] args) throws IOException {
        //
        FileReader fileReader = new FileReader("D:/我的青春谁做主.txt");

        char[] array = new char[100];
        int length = fileReader.read(array);
        StringBuilder sb = new StringBuilder();
        while (length != -1)
        {
            sb.append(array); //追加
            length = fileReader.read(array); //下一次读取
        }

        System.out.println(sb.toString());//输出array
        fileReader.close();

    }

BufferedReader类

如何提高字符流读取文本文件的效率?
使用FileReader类与BufferedReader类
BufferedReader类是Reader类的子类
BufferedReader类带有缓冲区
按行读取内容的readLine()方法

public static void main(String[] args) throws IOException {
        FileReader fileReader = new FileReader("D:/我的青春谁做主.txt");

        BufferedReader bufferedReader = new BufferedReader(fileReader);

        String strContent = bufferedReader.readLine();//读取一行
        StringBuilder sb = new StringBuilder();
        while (strContent != null)
        {
            sb.append(strContent);
            sb.append("\n");
            sb.append("\r");
            strContent = bufferedReader.readLine();
        }

        System.out.println(sb.toString());
        fileReader.close();
        bufferedReader.close();
    }

使用FileWriter写文件

FileWriter fileWriter=new FileWriter("d:/gaga.txt");
       BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
        bufferedWriter.write("再见前任");
        bufferedWriter.newLine();
        bufferedWriter.write("再见,旧时光");
        bufferedWriter.flush();

如何提高字符流写文本文件的效率?
使用FileWriter类与BufferedWriter类
BufferedWriter类是Writer类的子类
BufferedWriter类带有缓冲区

   //读取模板内容
        FileReader fileReader = new FileReader("e:/email.txt");
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        String strLine = bufferedReader.readLine();

        StringBuilder stringBuilder = new StringBuilder();
        while (strLine != null)
        {
            stringBuilder.append(strLine);
            strLine = bufferedReader.readLine();
        }

//        System.out.println(stringBuilder.toString());

        Email email = new Email();
        email.setTo("宝贝");
        email.setContent("新年快乐");
        email.setFrom("大甜甜");

        String strContent = stringBuilder.toString();//亲爱的{to}  {content}       yours {from}
        strContent = strContent.replace("{to}",email.getTo());
        strContent = strContent.replace("{content}",email.getContent());
        strContent = strContent.replace("{from}",email.getFrom());
//        System.out.println(strContent);

        FileWriter fileWriter = new FileWriter("e:/my_email.txt");
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

        bufferedWriter.write(strContent);
        bufferedWriter.flush();

        fileReader.close();
        bufferedReader.close();
        fileWriter.close();
        bufferedWriter.close();

public class Email {
    private  String to;
    private  String content;
    private  String from;

    public String getTo() {
        return to;
    }

    public void setTo(String to) {
        this.to = to;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getFrom() {
        return from;
    }

    public void setFrom(String from) {
        this.from = from;
    }

相关文章

网友评论

      本文标题:Java 文件传输传入

      本文链接:https://www.haomeiwen.com/subject/viyroxtx.html